Kriss Liu

击长空、博千里,笑慑鬼魅,坦荡万象。四海皆是可有作为,宇内必有余之归宿。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

IIS6的管理中,新增了一个Web 服务扩展,可以在里面配置网站是否支持ASP、ASP.NET、未知的ISAPI扩展等等。由于这一功能的增加,以前一些IIS默认的支持项,现在首先都得先设置成允许这个Web服务扩展才行。比如我们自己写的ISAPI扩展。
那么我们如何通过ADSI来修改Web 服务扩展呢?。可以通过访问本地IIsWebService对象的WebSvcExtRestrictionList属性。这个属性包括了所有的Web服务扩展。当然MSDN上为我们介绍了一种更简单的方法(VB Script):

Dim IIsWebServiceObj
Set IIsWebServiceObj = GetObject("IIS://localhost/W3SVC")

' Enable ASP and all ISAPIs:
IIsWebServiceObj.EnableWebServiceExtension "ASP"
IIsWebServiceObj.EnableWebServiceExtension "ASP.NET v1.1.4322"
IIsWebServiceObj.EnableWebServiceExtension "ASP.NET v2.0.50727"
IIsWebServiceObj.EnableExtensionFile "*.dll"
IIsWebServiceObj.SetInfo

通过 EnableWebServiceExtension  方法可以开启某项服务。EnableExtensionFile 则开启指定类型的程序的执行权限。其中 ".exe 相当于“允许所有未知的CGI程序”,"*.dll"相当于"允许所有未知的ISAPI扩展"
C#的代码类似:
DirectoryEntry de = new DirectoryEntry("IIS://localhost/W3SVC");
de.Invoke("EnableExtensionFile", "*.dll");
de.Invoke("SetInfo");

详细信息请参考MSDN:
Enabling ASP, ASP.NET, CGI, and ISAPI Extensions
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/a471a2f7-1ceb-44c4-8de8-10fc4dd11f9d.asp
WebSvcExtRestrictionList
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/c5906b2c-3a76-4a56-ad77-ee5313a64796.asp

另:
改变IIS站点 ASP.NET 版本的方法:
aspnet_regiis.exe -s W3SVC/1/ROOT
参考:
http://czhenq.cnblogs.com/archive/2006/03/25/358436.html
http://dotnet.mblogger.cn/cqfeng/posts/6544.aspx

posted on 2006-03-03 23:11  Kriss Liu  阅读(1695)  评论(1编辑  收藏  举报