2010-11-11 181 views
1

我正在使用現有服務,無法理清爲什麼不使用自定義配置。無法覆蓋默認的WCF配置

我的服務類看起來是這樣的:

[ServiceBehavior(Name = "MagicService",Namespace = Namespaces.NS_Magic_ADMIN_SERVICE, ConfigurationName = "MagicServiceConfiguration")] 
public class MagicService : IMagicService 

服務配置:

<service name="MagicServiceConfiguration" behaviorConfiguration="MagicServiceBehavior"> 
    <endpoint address="" 
     name="httpAdminServiceSEP" 
     binding="basicHttpBinding" 
     bindingName="basicMemberBinding" 
     bindingNamespace="http://magic-service.me.com/admin/2010/04/" 
     contract="Me.Manager.Magic.Contracts.Behavior.IMagicService"> 
    </endpoint> 
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> 
    </service> 

綁定:

<basicHttpBinding> 
    <binding name="basicMemberBinding" 

      receiveTimeout="00:10:00" 
      sendTimeout="00:10:00" 
      openTimeout="00:10:00" 
      closeTimeout="00:10:00" 
      maxReceivedMessageSize="2147483647" 
      maxBufferSize="2147483647" 
      maxBufferPoolSize="2147483647"> 
    </binding> 
    </basicHttpBinding> 

我不斷收到好老:「有一個錯誤反序列化System.String類型的對象。在讀取XML時,超出了最大字符串內容長度配額(8192)數據。可以通過更改創建XML閱讀器時使用的XmlDictionaryReaderQuotas對象上的MaxStringContentLength屬性來增加此配額。線81,80" 位

每當我添加它會自動添加一個服務引用使用默認8196米的長度。

如果刪除了服務的配置沒有什麼變化。不過拋出長度例外。

回答

1

你需要使用bindingConfiguration=屬性您<endpoint>引用您的綁定設置 - 而不是bindingName=之一:

<service name="MagicServiceConfiguration" behaviorConfiguration="MagicServiceBehavior"> 
    <endpoint 
    name="httpAdminServiceSEP" 
    address="" 
    binding="basicHttpBinding" 
    bindingConfiguration="basicMemberBinding" *** here use bindingConfiguration!! 
    bindingNamespace="http://magic-service.me.com/admin/2010/04/" 
    contract="Me.Manager.Magic.Contracts.Behavior.IMagicService"> 
    </endpoint> 
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> 
</service> 
+0

正是這種有另外一個問題下來,我不得不修復以及線路感謝。 – jfar 2010-11-11 21:59:43