我有一个用于asp.net mvc应用程序的HttpHandler。我已经测试了asp.net和asp.net mvc 3应用程序的处理程序,一切都按预期工作。
当我在基于Azure的asp.net mvc 3应用程序中使用HttpHandler时,未调用'ProcessRequest'方法 - 我可以看到正在创建HttpHandler。
我有以下web.config,这适用于标准的asp.net mvc 3应用程序:
<system.web>
<httpHandlers>
<add type="TestWebRole.Infrastructure.HttpHandlers.EPubHandler"
path="*.epub"
verb="*" />
</httpHandlers>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />
<handlers>
<add name="EPubHandler"
type="TestWebRole.Infrastructure.HttpHandlers.EPubHandler"
path="*.epub"
verb="*"
resourceType="Unspecified"
allowPathInfo="false"
modules="IsapiModule"
scriptProcessor="%path%\aspnet_isapi.dll"/>
</handlers>
</system.webServer>
我还在global.asax.cs文件中有以下语句来指定忽略asp.net,扩展类型的mvc路由:
routes.IgnoreRoute("{resource}.epub/{*pathInfo}");
在Azure中运行 - 本地或部署到云中时,我需要配置什么才能使其正常工作?
答案 0 :(得分:2)
试试看,为什么不删除system.web下的httpHandlers部分,只留下system.webServer中的部分。并且还从system.webServer(scriptProcessor,modules,allowPathInfo)下删除所有不必要的属性。
此外,您还可以检查任何未知的异常,事件日志条目,任何显示某种错误的内容。