2012-05-01 52 views
2

我有一個運行在http://example.com的WCF服務(.NET 3.5)應用程序;其web.config配置爲JSONP編碼:刪除web.config中的子應用程序的自定義綁定元素

<extensions> 
    <bindingElementExtensions> 
    <add name="jsonpMessageEncoding" type="My.SharePoint.WebServices.JsonpBindingExtension, My.SharePoint.WebServices, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> 
    </bindingElementExtensions> 
</extensions> 

其中類My.SharePoint.WebServices.JsonpBindingExtension是應用程序的一部分。

現在,我們正在部署另一個WCF應用程序http://example.com/other-services/,這裏是我遇到問題的地方 - 當我嘗試調用此服務時,出現無法加載My.SharePoint.WebServices程序集的錯誤,即使我我沒有在其他應用程序中使用它。它看起來像頂級應用程序的web.config與此web.config合併。

在這個子應用程序中是否有任何方法去除/取消註冊jsonpMessageEncoding

我希望做一些事情,如:

<extensions> 
    <bindingElementExtensions> 
    <remove name="jsonpMessageEncoding"/> 
    </bindingElementExtensions> 
</extensions> 

但沒有remove這個配置部分。

任何想法?

回答

0

如果您的新應用程序直接部署在第一個應用程序Web配置下,則確實合併。不幸的是,擴展不能被刪除 - 甚至相關的配置類不支持除add方法以外的任何其他功能,原因在於添加的調用將首先被處理,並且類型將在達到預期的刪除之前被解析。

作爲解決方法(未經測試),您可以嘗試使用location element in your root application web.config並僅爲根應用程序定義擴展。

相關問題