2013-04-30 104 views
2

這是我的問題。我正在安裝一個模塊,這是我爲5.0.4 DotNetNuke安裝開發的公司所開發的模塊。如何找出在IIS中繼承處理程序映射的位置

的.dnn清單文件有一個節點部分包括該添加

<node path="/configuration/system.webServer/handlers" 
    action="update" key="name" collision="overwrite"> 
    <add name="svc-Integrated" verb="*" path="*.svc" 
    type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" resourceType="Unspecified" 
     preCondition="integratedMode"/> 
</node> 

的DNN應用程序的web.config已經沒有這種添加在配置/ system.webServer /處理器部分,因此它將其添加到web.config。

然後嘗試加載該網站的時候,我得到一個錯誤說:

Cannot add duplicate collection entry of type 'add' with 
    unique key attribute 'name' set to 'svc-Integrated' 

我花了一些時間尋找其中的SVC集成這個重複的條目可以從以下來了,終於找到了在Web站點的IIS中查看DNN Web應用程序。它有一個處理程序映射部分,並且svc-Integrated標記位於網站中,其中條目類型繼承

我想找出svc-Integrated處理程序從哪裏繼承。

編輯:我已經通過Ç看:\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727 \ CONFIG的machine.config的web.config文件,並且有在沒有條目所有說「svc-Integrated」的名字。我試圖在的machine.config的web.config下每看在Framework64文件夾和V4。*文件夾,並沒有SVC集成在這些位置中的任何,所以不有絲毫的線索,其中IIS從:(

回答

1

得到這個處理程序定義當處理器有一個條目類型的繼承,你可以找到通過在連接去一個級別,它從繼承面板左側互聯網通知(IIS)管理器,並雙擊處理程序映射中的服務器組件組。在該級別找到相同的Handler,並查看它是從另一級別繼承的,還是在本地級別。

我發現在IIS7機器處理器映射從"C:\Windows\System32\inetsrv\config\applicationHost.config"

[This article]上technet.microsoft.com來幫我找到了,我發現在當地入門級別的配置文件,並解釋配置繼承級別。

Machine.config。該文件位於%windir%\ Microsoft.NET \ Framework \ framework_version \ CONFIG中。

.NET Framework的根Web.config。該文件位於%windir%\ Microsoft.NET \ Framework \ framework_version \ CONFIG中。

ApplicationHost.config。該文件位於%windir%\ system32 \ inetsrv \ config中。

這就是我找到我試圖找到的svc-Integrated配置條目的地方。

我最終只是右擊我的應用程序的處理程序映射並單擊刪除SVC集成處理程序映射。這解決了我的應用程序在嘗試覆蓋處理程序映射時遇到的衝突。