ASP使用C#编写的COM+组件

1 新建类库MyTest


2 右击项目“MyTest”-》属性-》生成-》勾选“为COM互操作注册”


3 打开 AssemblyInfo.cs 文件 修改 [assembly: ComVisible(true)]






using System;
using System.Runtime.InteropServices;


namespace TestDll
{
  [Guid("93FFB6A2-4B32-4546-B19F-C3D5DB22E57F")]
  public interface ISample{
    [DispId(0)] string About();
    [DispId(1)] int Add(int a,int b);
  }
  public class Sample : ISample{
    public Sample(){}
    public string About() {return "欢迎访问 http://www.csdn.net";}
    public int Add(int a, int b) {return a+b;}
  }



到C盘中查找 sn.exe,regasm.exe gacutil.exe 文件,复制到工程目录。
3、运行cmd命令,打开一个控制台窗口,进入Test工程的目录,进入 Obj/Debug目录
4、运行 sn -k Test.snk (sn.exe这个文件在 D:/Program files/Microsoft Visual Studio .NET 2003/SDK/v1.1/Bin)这样就生成了一个 Test.snk文件
5、{
1.点击该项目的属性
2.点击名为 签名 的选项卡
3.在为程序集签名那里打勾
4.然后选择新建snk文件或者浏览现有的snk文件

6、编译这个工程,生成 Bin/Debug/Test.dll,在控制台窗口进入这个目录
7、输入下面的命令:regasm /tlb:Test.tlb Test.dll 注册DLL,并生成一个tlb文件
tlb是给VB开发使用的,可以不要这个
8、继续在控制台里运行这个:gacutil /i Test.dll 把这个Dll加入全局Assembly Cache(实际上可以不要,在RegAsm里面已经自动加入了,为了保险,我还是操作一次)
9、在ASP里面引用这个,代码如下:
<%
  Dim o : Set o=Server.CreateObject("Test.Sample")
  Response.Write o.About() & "<br />"
  Dim a,b : a=123 : b=456
  Response.Write a & " + " & b & "=" & o.Add(a,b)
  Set o=Nothing
%>




如果提示:
Failed to load 'C:\Test\test.dll' because it is not a valid .net assambly


因为使用了NET FrameWork 2.0的regasm文件,如果你开发的dll平台版本是针对.NEt FrameWork4.0或者其他版本的话,则你必须在本地安装.NET Framework,你可以尝试把你的dll平台设置为.NET Framework2.0,这样注册就没有什么问题的。或者从.NEt FrameWork4.0目录中拷备regasm文件出来。


============================================================================================================

在其它机器上注册方法:

1.从注册机上COPY出regasm,注册DLL

2.注册参数:RegAsm /codebase test.dll

如果不加 /codebase,会出现



Server 对象 错误 'ASP 0177 : 80070002'
Server.CreateObject 失败
/test_.asp,行 3
80070002


鱼鱼asp函数组件(fishasp20090218.dll) 鱼鱼版权所有,非经鱼鱼许可禁止用于商业用途 鱼鱼QQ:260332019 EMAIL:afishofsun@163.com 注意:请先注册鱼鱼asp函数组件,然后才能调用鱼鱼asp组件函数 鱼鱼asp组件注册文件:regdll.bat,鱼鱼asp组件卸载文件:unregdll.bat 鱼鱼asp组件调用示例文件:test.asp(测试文件),db.asp(数据库) 组件文件fishasp20090218.dll,组件名称fishasp20090218,包含类fasp,类fasp中包含下列函数。 组件调用: dim faspobj set faspobj=server.createobject("fishasp20090218.fasp") '创建fasp对象 dim s=faspobj.delpiccontent("sdfsd<") '使用fasp对象调用函数 '------------------------------------- '鱼鱼ASP函数 '鱼鱼版权所有,不可用于商业用途 'QQ:260332019 EMAIL:afishofsun@163.com '函数delpiccontent(str),该函数用来删除字段内容中的图片内容/代码。 '------------------------------------- '天枫ASP class v1.0鱼鱼修改版,集常用asp函数于一体 '天枫版权所有http://www.52515.net 'QQ:76994859 EMAIL:Chenshaobo@gmail.com '所有功能函数名如下: '------------------------------------- '--------字符处理-------------------------- '**************************************************** '函数名:StrLength(str) '作 用:取得字符串长度(汉字为2) '参 数:str ----字符串内容 '返回值:字符串长度 '**************************************************** '**************************************************** '函数名:CutStr(str, strlen) '作 用:字符串长度切割,超过显示省略号 '参 数:str ----字符串内容 ' strlen ------要显示的长度 '返回值:切割后字符串内容 '**************************************************** '--------------系列验证---------------------------- '**************************************************** '函数名:CheckIsEmpty(tstr) '作 用:检查是否为空 '参 数:tstr ----字符串 '返回值:true不为空,false为空 '**************************************************** '**************************************************** '函数名:isInteger(para) '作 用:整数检验 '参 数:tstr ----字符 '返回值:true是整数,false不是整数 '**************************************************** '**************************************************** '函数名:CheckName(str) '作 用:名字字符检验 '参 数:str ----字符串 '返回值:true无误,false有误 '**************************************************** '**************************************************** '函数名:CheckPassword(str) '作 用:密码检验 '参 数:str ----字符串 '返回值:true无误,false有误 '**************************************************** '**************************************************** '函数名:CheckEmail(email) '作 用:邮箱格式检测 '参 数:str ----Email地址 '返回值:true无误,false有误 '**************************************************** '--------------信息提示---------------------------- '**************************************************** '函数名:Alert(msg, goUrl) '作 用:弹出对话框提示 '参 数:msg ----对话框信息 ' gourl ----提示后转向哪里 '返回值:无 '**************************************************** '**************************************************** '函数名:GoBack(str1, str2, isback) '作 用:错误信息提示 '参 数:str1 ----信息提示标题 ' str2 ----信息提示内容 ' isback ----是否显示返回 '返回值:无 '**************************************************** '**************************************************** '函数名:Suc(str1, str2, url) '作 用:成功提示信息 '参 数:str1 ----信息提示标题 ' str2 ----信息提示内容 ' url ----返回地址 '返回值:无 '**************************************************** '--------------安全处理---------------------------- '**************************************************** '函数名:ChkPost() '作 用:禁止站外提交表单 '返回值:true站内提交,flase站外提交 '**************************************************** '**************************************************** '函数名:PSql() '作 用:防止SQL注入 '返回值:为空则无注入,不为空则注入并返回注入的字符 '**************************************************** '**************************************************** '函数名:FiltrateHtmlCode(str) '作 用:防止生成html代码 '参 数:str ----字符串 '**************************************************** '**************************************************** '函数名:HtmlCode(str) '作 用:过滤Html标签 '参 数:str ----字符串 '**************************************************** '**************************************************** '函数名:Replacehtml(tstr) '作 用:清理html '参 数:tstr ----字符串 '**************************************************** '---------------获取客户端和服务端的一些信息------------------- '**************************************************** '函数名:GetIP() '作 用:获取客户端IP地址 '返回值:客户端IP地址 '**************************************************** '**************************************************** '函数名:GetBrowser() '作 用:获取客户端浏览器信息 '返回值:客户端浏览器信息 '**************************************************** '**************************************************** '函数名:GetSystem() '作 用:获取客户端操作系统 '返回值:客户端操作系统 '**************************************************** '**************************************************** '函数名:CUrl() '作 用:获取当前页面URL的函数 '返回值:当前页面URL的函数 '**************************************************** '**************************************************** '函数名:GetExtend(FileName) '作 用:取得文件扩展名 '参 数:filename ----文件名 '**************************************************** '------------------数据库的操作----------------------- '**************************************************** '函数名:conndb(str) '作 用:连接数据库,返回连接对象 '参 数:str---数据库连接串 '返回值:conn打开的连接对象 '**************************************************** '**************************************************** '函数名:creaters() '作 用:创建记录集对象 '参 数: '返回值:rs创建的记录集对象 '**************************************************** '**************************************************** '函数名:CheckExist(conn, table, fieldname, fieldcontent, isblur) '作 用:检测某个表中某个字段是否存在某个内容 '参 数:conn---数据库连接对象 'table ----表名 ' fieldname ----字段名 ' fieldcontent ----字段内容 ' isblur (值为1或0) ----是否模糊匹配 '返回值:false不存在,true存在 '**************************************************** '**************************************************** '函数名:GetNum(conn, table, fieldname, resulttype, args) '作 用:检测某个表某个字段的数量或最大值或最小值 '参 数:conn---连接对象table ----表名 ' fieldname ----字段名 ' resulttype ----还回结果(count/max/min) ' args ----附加参加(order by ...) '返回值:数值 '**************************************************** '**************************************************** '函数:UpdateValue(conn, table, fieldname, fieldtype, fieldvalue, id, url) '作 用:更新表中某字段某内容的值 '参 数:conn--------数据库连接对象 'table ----表名 ' fieldname ----字段名 ' fieldtype ----字段数据类型 ' fieldvalue ----更新后的值 ' id ----id ' url -------更新后转向地址 '返回值:无 '**************************************************** '---------------服务端信息和操作----------------------- '**************************************************** '函数名:GetFolderSize(Folderpath) '作 用:计算某个文件夹的大小 '参 数:FileName ----文件夹路径及文件夹名称 '返回值:数值 '**************************************************** '**************************************************** '函数名:GetFileSize(FileName) '作 用:计算某个文件的大小 '参 数:FileName ----文件路径及文件名 '返回值:数值 '**************************************************** '**************************************************** '函数名:IsObjInstalled(strClassString) '作 用:检查组件是否安装 '参 数:strClassString ----组件名称 '返回值:false不存在,true存在 '**************************************************** '**************************************************** '函数名:SendMail(MailServerAddress, AddRecipient, Subject, Body, Sender, MailFrom) '作 用:用Jmail组件发送邮件 '参 数:ServerAddress ----服务器地址 ' AddRecipient ----收信人地址 ' Subject ----主题 ' Body ----信件内容 ' Sender ----发信人地址 '**************************************************** '**************************************************** '函数名:ResponseCookies(Key, Value, Expires) '作 用:写入COOKIES '参 数:Key ----cookie名 ' value ----cookie值 ' expires ---- cookie过期时间 '**************************************************** '-----------------系列格式化------------------------ '**************************************************** '函数名:FormatSize(dsize) '作 用:大小格式化 '参 数:size ----要格式化的大小 '**************************************************** '**************************************************** '函数名:FormatTime(DateTime, Format) '作 用:时间格式化 '参 数:DateTime ----要格式化的时间 ' Format ----格式的形式 '**************************************************** '----------------------杂项--------------------- '**************************************************** '函数名:Zodiac(birthday) '作 用:取得生消 '参 数:birthday ----生日 '**************************************************** '**************************************************** '函数名:Constellation(birthday) '作 用:取得星座 '参 数:birthday ----生日 '****************************************************
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值