httphandler共享主机部署

时间:2009-11-01 11:08:07

标签: deployment hosting httphandler shared

我在共享虚拟主机上有httphandler。 有用。

此httphandler的httphandler webapp(虚拟)目录没有web.config 并且整个共享用户的网站都有web.config,只有一个未注释的语句:

<compilation defaultLanguage="c#" debug="false"/>

现在,我将其更改为:

<system.web>
    <urlMappings enabled="true">
    <add url="~/CheckLoad" mappedUrl="~/BackupLicense.ashx?key=CheckLoad"/>
    <compilation defaultLanguage="c#" debug="false">
      </compilation>
</system.web>

这个(*)在本地工作(在VS2008内部网络服务器上) 但不是共享主机。

我想念什么? (*)表示调用[1a],它只在本地工作,但在共享主机上给出 “找不到页面”“HTTP错误404”

[1a]呼吁: http://www.MySharedSite.com/CheckLoad (除了永远和外在的工作 [1b] http://www.MySharedSite.com/BackupLicense.ashx?key=CheckLoad

1 个答案:

答案 0 :(得分:1)

在内置网络服务器以及IIS6和7上处理URL的方式存在一些细微差别。您需要知道共享主机上运行的IIS版本。

具体来说,如果没有将扩展名映射到aspnet_isapi.dll,IIS6不支持URL,并且由于您没有使用URL的扩展名,可能就是这种情况。

如果您的主机使用的是具有集成管道模式的IIS7,则您需要使用您的网址映射configure the system.webServer部分,而不是system.web。 (另请参阅this question了解差异的解释)。

修改 我在评论中看到你的webhost正在使用IIS6。然后,您需要让您的webhost允许ASP .NET处理/ Checkload URL。使其工作的另一个简单方法是在URL的末尾使用.ashx;因为.ashx扩展已经在标准配置中映射到ASP .NET。