2011-12-18 56 views
0

我有一個asp.net mvc應用程序的HttpHandler。我已經測試了asp.net和asp.net mvc 3應用程序的處理程序,一切都按預期工作。Azure和HttpHandlers

當我在基於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。爲擴展型網,MVC路由:

routes.IgnoreRoute("{resource}.epub/{*pathInfo}"); 

我有什麼配置在Azure上運行時得到這個工作 - 在本地或部署到雲計算?

+0

只是爲了試一下,爲什麼你不去掉system.web下的httpHandlers部分,只留下system.webServer。並且還從system.webServer(scriptProcessor,modules,allowPathInfo) – astaykov 2011-12-18 19:56:48

+0

已經嘗試過的所有不必要的屬性中刪除所有不必要的屬性,但是我會再次提供給它... – AwkwardCoder 2011-12-18 20:06:57

+2

還可以檢查是否有任何意外異常,事件日誌條目,任何顯示某種錯誤的東西。 – astaykov 2011-12-18 20:21:38

回答

2

試一試,爲什麼不移除system.web下的httpHandlers部分,只留下system.webServer中的httpHandlers部分。還可以清除system.webServer下所有不必要的屬性(scriptProcessor,modules,allowPathInfo)。

而且你也可以檢查任何意外的異常,事件日誌條目,任何顯示某種錯誤的東西。