2013-07-17 3 views
0

친구를 추가 할 때 오류가 WCF : 새 netNamedPipeBinding 엔드 포인트

나는 IIS가있는 wsHttpBinding와 함께 작동 웹 서비스 (

http://localhost/Directory.Server/Services/v2/Directory.svc/ws 

)를 호스팅합니다. 웹 애플리케이션에 의해 소비됩니다. 동일한 시스템에서 실행중인 다른 프로젝트에서 서비스에 액세스 할 수 있도록 명명 된 파이프가있는 동일한 서비스에 대해 추가 끝점이 필요합니다.

web.config에서 변경된 내용으로 명명 된 파이프 끝 점이 표시되었습니다. 그러나 새로운 파이프 파이프 엔드 포인트를 테스트하기 전에도 기존 wsHttpBinding 엔드 포인트에서이 변경 사항으로 오류가 발생하기 시작했습니다.

웹 애플리케이션 사용 중 오류 - 요청한 서비스 ''를 (를) 활성화 할 수 없습니다. 자세한 정보는 서버의 진단 추적 로그를 참조하십시오.

namedpipe 끝 점이 문제를 일으키는 것은 의심의 여지가 없습니다. 명명 된 파이프 문제를 해결하면 두 종점이 모두 작동합니다. 내가 잘못 뭐하는 거지

<system.serviceModel> 
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> 
<bindings> 
    <wsHttpBinding> 
    <binding name="wsHttp" maxBufferPoolSize="524288" maxReceivedMessageSize="10485760" messageEncoding="Mtom"> 
     <readerQuotas maxDepth="0" maxStringContentLength="0" maxArrayLength="0" maxBytesPerRead="0" maxNameTableCharCount="0" /> 
     <security mode="None"> 
     <transport clientCredentialType="None" /> 
     <message clientCredentialType="None" /> 
     </security> 
    </binding> 
    </wsHttpBinding> 
    <netNamedPipeBinding> 
    <binding name="Binding10" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxBufferSize="65536" maxConnections="10" maxReceivedMessageSize="10485760"> 
     <security mode="Transport"> 
     <transport protectionLevel="EncryptAndSign"/> 
     </security> 
    </binding> 
    </netNamedPipeBinding> 
</bindings> 
<behaviors> 
    <serviceBehaviors> 
    <behavior name="Default_Directory"> 
     <dataContractSerializer maxItemsInObjectGraph="2147483647" /> 
     <serviceMetadata httpGetEnabled="true" httpsGetEnabled="false" /> 
     <serviceDebug includeExceptionDetailInFaults="true" /> 
    </behavior> 
    <behavior name=""> 
     <serviceMetadata httpGetEnabled="true" /> 
     <serviceDebug includeExceptionDetailInFaults="false" /> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 
<services> 
    <service behaviorConfiguration="Default_Directory" name="Directory.Server.Services.v2.Directory"> 
    <endpoint address="ws" binding="wsHttpBinding" bindingConfiguration="wsHttp" name="wsHttp_Directory" contract="Directory.Server.Services.v2.IDirectory" /> 
    <endpoint address="mex" binding="mexHttpBinding" name="mex_Directory" contract="IMetadataExchange" /> 
    <endpoint address="net.pipe://localhost/Directory.Server/Services/v2/Directory.svc/np" binding="netNamedPipeBinding" bindingConfiguration="Binding10" name="namedPipe_Directory" contract="Directory.Server.Services.v2.IDirectory" /> 
    </service> 
</services> 

- 여기

내 Web.config의 변화인가? Pls 도움.

답변

1

IIS에서 WAS를 사용할 수 있습니까? 명명 된 파이프는 WAS가 사용 가능해야합니다. 참조 - http://msdn.microsoft.com/en-us/library/ms752253.aspx

+0

Windows 8에서 실행되는 IIS 8을 사용하면 WAS가 기본적으로 활성화되어 있다고 생각합니다. 웹 서비스 프로젝트의 Project Properties 창에서 - 프로젝트가 HTTP 기반 서비스를 더 일찍 만 드러내 기 때문에 "Use Local IIS server"가 선택됩니다. 프로젝트 URL은 - http // localhost/Directory.Server로 설정됩니다. 이것이 문제가 될 수 있습니까? –