2012-05-02 1 views
2

Autofac을 사용하는 일부 WCF 서비스를 제공하고 있으며 자습서를 따라 잘 작동합니다! 하지만 이제 65Kb보다 큰 요청을 보내야합니다. 따라서이 요청을 허용하도록 서버의 바인딩을 변경해야하며이를 수행하는 방법을 찾을 수 없습니다!WCF에서 바인딩 구성 Autofac으로 주입 된 서비스

동적으로 생성되거나 .config 파일에 정의 된 바인딩을 할당하기 위해 서비스 삽입을 가로채는 방법은 무엇입니까? 클라이언트 측에서 나는 올바르게했고 잘 작동합니다!

미리 감사드립니다.

마크.

답변

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를 사용하고 있습니까? 서비스를 호스팅하고 있는데 "그는 서비스 'xxxx'가 WCF 용으로 구성된 서비스가 Autofac 컨테이너에 등록되어 있지 않습니다."라는 오류 메시지가 나타납니다. 내 App_code 폴더에 AppInitialize 클래스를 추가했지만 찾아 볼 때이 코드가 맞지 않습니다. 어떤 아이디어? – Donny

관련 문제