2010-08-31 92 views
3

我基本上是記錄錯誤ELMAH以同樣的方式,因爲這SO answer suggests但最初我得到一個錯誤從IIS暗示不使用的設置,然後當我清理錯誤(由傳統配置驗證的車削)我的鉤似乎沒有被調用。IIS7似乎不喜歡<soapExtensionTypes>,有什麼選擇?

HTTP Error 500.22 - Internal Server Error 
An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode. 

Most likely causes: 

    * This application defines configuration in the system.web/httpModules section. 

我認識了一幫像的System.Web /的HttpModules的設置需要被遷移到system.webServer,但我似乎無法弄清楚如何做一下soapExtensionTypes配置設置。

<webServices> 
    <soapExtensionTypes> 
    <add type="ModuleName.SoapExceptionHandler, ModuleName" priority="1" group="0" /> 
    </soapExtensionTypes> 
</webServices> 

我需要做什麼才能讓我的SoapExtension加載到管道中?

或者我只是錯了,它應該工作,但我瘋了嗎?

更新:在我的HttpModules部分我現在有,

<httpModules> 
    <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" /> 
</httpModules> 
+0

你可以發佈確切的配置給你出現錯誤。我在IIS7 Integrated中使用示例中引用的代碼,但沒有任何錯誤? – BinaryMisfit 2010-09-10 08:38:21

+0

您是否需要使用「集成」管理流水線模式?即您可以使用Classic模式的應用程序池嗎? – ngoozeff 2010-09-10 09:01:34

+0

我寧願使用集成管道。我會看看創建一個獨立的示例,爲問題提供一個更好的示例,或者證明我充滿了它,並在實際應用程序中做了錯誤的事情。 – 2010-09-10 09:03:14

回答

0

基於你已經張貼在這裏什麼,一切都應該正常工作(和我實際上在過去使用了類似的策略來此)。

我的猜測是,你必須在對System.Web /的HttpModules web.config中的部分註冊其他處理程序。

這將有助於如果你能張貼的web.config的其餘部分(減去如連接字符串等任何敏感信息),這樣我們就可以看到其他地方的問題可能在於。

UPDATE

我想你可能也必須移動ELMAH模塊配置出的HttpModules部分。他們被遷移到以下地點:

<webServices> 
    <soapExtensionTypes> 
     <add type="ModuleName.SoapExceptionHandler, ModuleName" 
      priority="1" 
      group="0" /> 
    </soapExtensionTypes> 
    <modules> 
     <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" /> 
    </modules> 
</webServices> 
+0

謝謝。我得到的印象是我在某處失去了情節。我只是沒有弄清楚我做錯了什麼。我開始懷疑我是否在遷移到VS2010時搞砸了一些東西。 – 2010-09-17 08:32:00

+0

@Colin紐維爾 - 我也遇到了遷移到VS2010的問題。您在遷移時是否更改了目標Framework版本,或者將解決方案從2008年移至2010年? – 2010-09-17 12:07:38

+0

我保持相同的框架版本,並從2008年 - > 2010 – 2010-09-17 13:29:52