AjaxPro在本地工作,但在服务器上我得到.ashx错误

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)

小智 9

要使AjaxPro.dll在IIS7中工作,您应该将应用程序池的PipelinMode设置为Classical而不是Integrated.

我到处都试图找到这个,但最后这就是救了我的东西.


小智 5

要在集成模式而不是经典模式下在IIS7(即Windows Vista)上运行Ajax.NET,您需要检查两件事:

  1. 首先检查IIS_ISSRS组是否可以访问您的网站文件夹.如果您使用Visual Studio .NET 2005的网站的默认文件夹,最简单的方法是在C:\ Users\Username\Documents\Visual Studio 2005\WebSites中添加读取权限.
  2. 运行以下命令以自动迁移web.config文件:%windir%\ system32\inetsrv\Appcmd migrate config""

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)


tva*_*son 2

您确定已在 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(至少对于网站而言)。