2012-05-02 15 views
2

私はAutofacを使用していくつかのWCFサービスを提供しており、チュートリアルに続いてうまくいきます!しかし今、私は> 65Kb以上のリクエストを送る必要があるので、このリクエストを許可するためにサーバ上のバインディングを変更しなければなりません。WCFでバインドを設定するAutofacで注入されたサービス

サービスのインジェクションをインターセプトして、動的に作成されたバインディングを割り当てたり、.configファイルで定義したりできますか?クライアント側では正しく行い、正常に動作しています!

ありがとうございます。

Marc。

答えて

5

最後に、解決策が見つかったので、this postに従ってください。

設定ファイルとサービス名を使用して設定ファイルを書き直しました。私は前にそれを試したが、うまくいかなかった。誠実に私はどこにいたのかわからない。

設定:

<bindings> 
    <basicHttpBinding> 
    <binding name="clearHttpBinding"> 
     <security mode="None" /> 
    </binding> 
    <binding name="secureHttpBinding"> 
     <security mode="TransportWithMessageCredential"> 
     <message clientCredentialType="UserName" /> 
     </security> 
    </binding> 
    <binding name="largeMessageHttpBinding" maxBufferSize="10000000" 
     maxReceivedMessageSize="10000000" messageEncoding="Text" transferMode="Buffered"> 
     <readerQuotas maxArrayLength="10000000" /> 
     <security mode="None" /> 
    </binding> 
    </basicHttpBinding> 
</bindings> 
<behaviors> 
    <serviceBehaviors> 
    <behavior name="defaultBehavior"> 
     <serviceMetadata httpGetEnabled="true"/> 
     <serviceDebug includeExceptionDetailInFaults="true"/> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 
<services> 
    <service behaviorConfiguration="defaultBehavior" name="my.Services.MyService"> 
    <endpoint address="" binding="basicHttpBinding" bindingConfiguration="largeMessageHttpBinding" contract="my.ServiceModel.ServiceContracts.IMyService"/> 
    </service> 
</services> 

はそれがお役に立てば幸いです。

+0

実際にサービスのメタデータを取得できますか?あなたの設定にMexバインディングがありません。私はメタデータを動かすことができません、私はAutofacの例のコードで動作仕様を見るだけですが、web.configから取得しようとしています –

+1

はい、私は正しくメタデータを取得しています。私はプロパティを使用すると思う:十分です! – Marc

+0

こんにちは、どのようにサービスをホストしていますか?私はIISExpressを使用していますが、「彼がWCF用に設定したxxxxサービスはAutofacコンテナに登録されていません」というエラーが表示されます。 AppInitializeクラスをApp_codeフォルダに追加しましたが、参照するときにこのコードにヒットしません。何か案は? – Donny

関連する問題