6 ajaxpro
本地我的应用程序使用ajaxpro工作正常,但在服务器上我似乎无法弄清楚它为什么不起作用.
使用firebug我有以下错误:
GET prototype.ashx 404未找到GET core.ashx 404未找到GET ms.ashx 404未找到
相同的代码在本地工作,所以它必须是IIS7设置?
编辑,我的web.config
<httpHandlers>
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/>
</httpHandlers>
Run Code Online (Sandbox Code Playgroud)
也有:
<location path="ajaxpro">
<system.web>
<httpHandlers>
<add verb="POST,GET" path="*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/>
</httpHandlers>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud)
和:
<location path="ajaxpro/prototype.ashx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="ajaxpro/core.ashx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="ajaxpro/converter.ashx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud)
小智 5
要在集成模式而不是经典模式下在IIS7(即Windows Vista)上运行Ajax.NET,您需要检查两件事:
Ajax.NET Professional的重大变化是你必须将httpHandler(和httpModule,如果使用的话)移动到一个新的部分system.webServer并将httpHandler重命名为handler; 接下来,您必须为处理程序添加名称属性:
<configuration>
<location path="ajaxpro">
<system.webServer>
<handlers>
<add verb="*" path="*.ashx" name="AjaxPro"
type="AjaxPro.AjaxHandlerFactory,AjaxPro.2" />
</handlers>
</system.webServer>
</location>
</configuration>
Run Code Online (Sandbox Code Playgroud)
您确定已在 web.config 文件中正确注册了处理程序吗?
您的 web.config 文件中应该有如下所示的内容。
<location path="ajaxpro">
<system.web>
<httpHandlers>
<add verb="*" path="*.ashx"
type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
</httpHandlers>
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud)
您还需要在 Bin 目录中包含 AjaxPro dll(至少对于网站而言)。