ISAPI 服务器扩展
ISAPI 服务器扩展是可以被 HTTP 服务器加载和调用的 DLL。Internet 服务器扩展也称为 Internet 服务器应用程序 (ISA),用于增强符合 Internet 服务器 API (ISAPI) 的服务器的功能。ISA 通过浏览器应用程序调用,并且将相似的功能提供给通用网关接口 (CGI) 应用程序。
ISAPI筛选器
ISAPI筛选器是在启用 ISAPI 的 HTTP服务器上运行的 DLL,用以筛选与服务器之间来回传送的数据。该筛选器注册事件的通知,例如登录或 URL 映射。当发生选定事件时,筛选器被调用,并且您可以监视及更改数据(在数据从服务器传输到客户端或相反的过程中)。可以使用 ISAPI筛选器提供增强的 HTTP 请求记录(例如,跟踪登录到服务器的用户)、自定义加密、自定义压缩或其他身份验证方法。
分析:其实错误已经很明确的告诉我们了,是客户端在以Get方式发送http请求时,aspnet_isapi找不到处理该请求的Handler处理程序。原来是缺少handler处理程序了,那我们接着分析,什么原因会导致请求找不到handler呢?可能的原因有2:1、没有注册.aspx应用程序扩展映射。
2、对于.NET来说。它的web.config的继承关系是:C:/windows/microsoft.net/framework
/config/machine.config,我们可以在C:/windows/microsoft.net/framework/config/下,
发现有两个很重要的config配置文件,分别是:machine.config
web.config。网站的web.config就是从这两个文件中继承过来的,于是我们就会意识到,这两个文件的也有可能会导致该错误。
解决此类问题正确的步骤应该是:
方法一,检查下C:/windows/microsoft.net/framework/config/web.config是否存在,如果不存在,那就
是问题的所在,找到对应.net版本的web.cofig配置文件放到C:/windows/microsoft.net/framework
/config/web.config该文件夹下。
方法二,检查网站是否添加了aspnet_isapi.dll扩展,如果没有,则添加即可。
方法三, 如果不行,尝试重新注册iis。C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -i 。
一般此类问题,完成以上三种方法的检测,即可解决。详细可以访问:http://bbs.ibeisha.com/showtopic-308.aspx
对于很多B/S架构的用友财务软件来说,在IIS中添加ISAPI和CGI限制功能是非常必要的,因为如果在IIS中不添加添加ISAPI和CGI限制功能可能会引起软件运行过程中报错,或者直接就登录不了,畅捷通T+11.51软件也是一样的。所以首先要保证在IIS安装时就已经勾选了ISAPI和CGI限制功能,然后在对应的IIS中启用ISAPI和CGI限制功能,有时候我们重装了IIS或者重装了.NET会造成ISAPI和CGI限制功能丢失或者没有启用,所以用友财务软件免费下载网站站长认为学习怎么给IIS添加ISAPI和CGI限制功能?是非常有必要的。
在学习如何给IIS添加ISAPI和CGI限制功能之前,我们首先学习几个概念,分别是:ISAPI 服务器扩展、ISAPI筛选器、公共网关接口CGI。
ISAPI 服务器扩展是可以被 HTTP 服务器加载和调用的 DLL。Internet 服务器扩展也称为 Internet 服务器应用程序 (ISA),用于增强符合 Internet 服务器 API (ISAPI) 的服务器的功能。ISA 通过浏览器应用程序调用,并且将相似的功能提供给通用网关接口 (CGI) 应用程序。
ISAPI筛选器是在启用 ISAPI 的 HTTP服务器上运行的 DLL,用以筛选与服务器之间来回传送的数据。该筛选器注册事件的通知,例如登录或 URL 映射。当发生选定事件时,筛选器被调用,并且您可以监视及更改数据(在数据从服务器传输到客户端或相反的过程中)。可以使用 ISAPI筛选器提供增强的 HTTP 请求记录(例如,跟踪登录到服务器的用户)、自定义加密、自定义压缩或其他身份验证方法。
公共网关接口CGI(Common Gateway Interface) 是WWW技术中最重要的技术之一,有着不可替代的重要地位。CGI是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的规程。CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。
畅捷通T+软件在运行时,必须在ISAPI和CGI限制功能中允许.NET 4.0相应的ISAPI和CGI的DLL组件运行。ISAPI和CGI限制功能在ISS7.0(windows7操作系统和windows server 2008 R2操作系统)开始才有。
1、允许ISAPI和CGI限制功能中允许.NET 4.0相应的ISAPI和CGI的DLL组件运行操作步骤如下:
(1)点击“开始”-“运行”-输入“inetmgr” 如下图所示:(windows7操作系统也可以通过:右击计算机,管理,服务和应用程序,internet信息服务(IIS)管理器)
(2)选中IIS根路径,如下图所示,在“功能”视图中,双击“ISAPI 和 CGI 限制”,如下图所示:
(3)依次右击 ASP.NET v4.0.30319 选择“允许”,然后再在“开始”-“运行”中输入 IISRESET 重启IIS服务。
2、在ISAPI和CGI限制功能中添加ISAPI和CGI的DLL组件
有可能会出现在ISAPI和CGI限制功能中没有ASP.NET v4.0.30319对应的ISAPI和CGI的DLL组件允许项,我们应该进行如下操作:
(1)点击“开始”-“运行”-输入“inetmgr”,选中IIS根路径,如下图所示,在“功能”视图中,双击“ISAPI 和 CGI 限制”先点击“操作”窗格中单击“添加”。
b、在“添加 ISAPI 和 CGI 限制”对话框中,描述处输入:ASP.NET v4.0.30319,ISAPI或CGI路径处选择:%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll;同时勾选允许扩展路径,点击“确定”。
c、按同样的方法添加,描述为:ASP.NET v4.0.30319,ISAPI或CGI路径为:%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll;同样勾选允许扩展路径,点击“确定”。
注意:如果添加时不选允许扩展路径,则限制状态将为“不允许”,这是默认状态。我们也可以在添加后,右击ASP.NET V4.0.30319,选择“允许”即可。
2、由于T+软件在运行时,需要调用IASPI扩展,所以我们在安装IIS时,一定要注意勾选 ISAPI扩展,否则T+软件无法正常运行。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)