regsvr32.exe D:\xxx.dll
如我的xxx.dll在D盘,注册如上方法。
或者直接引用<!--METADATA TYPE='typelib' FILE='D:\xxx.dll' -->
然后调用DLL方法
Set dice1=Server.Createobject('MyDLL.diclass')
'使用set语句创建dice1对象,其中MyDLL是上面创建dll文件时的工程名称(注意:不是文件的名称),diclass为类模块的名称。至此我们就可以用Maxpoint,Result和Throw属性(方法)来对dice1对象进行操作。
比如 里面的有一个方法axx()调用如下
dice1.axxx
hTML5和Javascript都属于跨平台语言,dll是windows的控件,并且html5和js也没有将dll纳入兼容调用范围。当然,凡事有例外的,例如可以编写一个控件(针对不同的平台编写),然后在浏览器端调用,就像现在的监控软件,都需要安装私有控件才可以连接服务主机。但所编写的控件具体如何实现就靠自己搜资料了,并且不建议编写控件,毕竟浏览器的兼容支持比较难实现,确实有需要的话可以编程序,通过网络进行通信或者展现需要的内容。
实现js调用dll中的方法也是ajax中一种实现,首先新新建类库,类库名字叫ajax好了,然后新建process.cs文件,代码如下:using System
using System.Web
namespace ajax
{
public class process:IHttpHandler
{
public bool IsReusable
{
get { return true}
}
public void ProcessRequest(HttpContext context)
{
context.Response.CacheControl = "no-cache"
context.Response.Write(DateTime.Now)
}
}
}
然后编译为ajax.dll
接着在web.config中添加
<configuration>
//IIS6
<system.web>
<httpHandlers>
<add verb="*" type="ajax.process,ajax" path="ajax.aspx"/>
</httpHandlers>
</system.web>
//IIS7
<system.webServer>
<handlers>
<add name="ajax" verb="*" type="ajax.process,ajax" path="ajax.aspx"/>
</handlers>
</system.webServer>
</configuration>
注意IIS6还要设.aspx的映射不检查文件是否存在。
最后创建test.htm文件:
<html>
<head>
<title>调用DLL中的处理</title>
<script type="text/javascript">
function getTime() {
var xmlHttp = new XMLHttpRequest()
xmlHttp.open("GET", "/ajax.aspx", false)
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4) {
alert(xmlHttp.responseText)
}
}
xmlHttp.send(null)
}
</script>
</head>
<body>
<input type="button" value="getTime" onclick="getTime()" />
</body>
</html>