.Net提供了丰富的程序资源库,但是一般.Net组件只能够给aspx网页调用,如果让asp网页也能调用.Net组件呢?
.Net提供了丰富的程序资源库,但是一般.Net组件只能够给aspx网页调用,如果让asp网页也能调用.Net组件呢?首先要把你的.Net类从ServicedComponent继承下来,然后使用 regsvcs 注册它,另外还要给你的服务器增加.Net库的路径。这样你就可以通过asp的Server.CreateObject方法来创建.Net组件了。
(1) 我们在.Net命令行创建一个 strong name,这会生成一个扩展名为 snk 的 strong name 文件:
sn cs001.snk
在项目的 AssemblyInfo.cs 文件中加入类似的语句,请注意snk文件的路径
[assembly: AssemblyKeyFile("..\\..\\cs001.snk")]
(2)下面的代码是C#程序,我们把它编译成cs001.dll
using System;
using System.EnterpriseServices;
[Transaction(TransactionOption.NotSupported)]
public class MyClass : ServicedComponent
{
public MyClass()
{
}
public string Greet()
{
return "hello world!"
}
}
然后,我们使用.Net命令行输入在cs001.dll的文件夹内输入以下命令:
regsvcs cs001.dll
现在我们就可以从asp页面调用这个组件了。
注意事项:
1. 必须给服务器添加.Net库文件的路径(也就是把.Net库文件的路径加到环境变量%path%里去)
2. 在更新组件的时候,请使用 regsvcs /u cs001.dll 这样的命令先卸载组件,如果组件正在被使用的话,还需要停止IIS服务才能更新并重新注册组件。
你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=360225