2015-01-21 2 views
1

서비스 라이브러리에 WCF 서비스가 있고이를 WCF 서비스 응용 프로그램에서 호스팅하려고합니다. 나는 따라WCF 서비스 응용 프로그램의 별도 dll에서 WCF 서비스 호스팅

<%@ ServiceHost Language="C#" Debug="true" Service="Mandrake.Service.OTAwareService" Factory="Mandrake.Service.OTServiceHostFactory" %> 

SVC는 파일을 수정 그리고 서비스 응용 프로그램의 web.config 파일에 서비스 라이브러리의 응용 프로그램 설정에 원래 있던 물건을 추가했다. 라이브러리의 app.config에 정의 된 설정을 무시한다고 생각했지만 라이브러리에서 app.config 파일을 제거하고 필요한 끝점 설정이 포함 된 web.config를 사용하여 IIS에서 서비스 응용 프로그램을 호스팅하는 것으로 밝혀졌습니다.) 서비스가 시작되지 않고 정의 된 종점이 없다고 말합니다. 내 서비스 응용 프로그램에서 서비스 라이브러리에서이 서비스를 호스팅 할 수있는 방법이

<system.serviceModel> 

<serviceHostingEnvironment> 
    <serviceActivations> 
    <add service="Mandrake.Service.OTAwareService" 
     factory="Mandrake.Service.OTServiceHostFactory" 
     relativeAddress="OTService.svc"/> 
    </serviceActivations> 
</serviceHostingEnvironment> 

<behaviors> 
    <serviceBehaviors> 
    <behavior name="StandardBehavior"> 
     <serviceMetadata /> 
     <serviceDebug includeExceptionDetailInFaults="True" /> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 
<services> 
    <service name="Mandrake.Service.OTAwareService" behaviorConfiguration="StandardBehavior"> 
    <host> 
     <baseAddresses> 
     <add baseAddress="net.tcp://localhost:8062/OTService"/> 
     </baseAddresses> 
    </host> 

    <endpoint address="" binding="netTcpBinding" name="TcpEndpoint" contract="Mandrake.Service.IOTAwareService" /> 
    <endpoint address="mex" binding="mexTcpBinding" name="MetadataEndpoint" contract="IMetadataExchange" /> 

    </service> 
</services> 
</system.serviceModel> 

거기에 다음과 같이

내 Web.config의의 ServiceModel은 서비스 부분은 무엇입니까?

+0

엔드 포인트가 정의되지 않았거나 엔드 포인트가 발견되지 않는다는 오류가 있습니까? –

+0

내 오류 메시지 : 서비스를 시작할 수 없습니다. 이 서비스에는 정의 된 엔드 포인트가 없습니다. 구성 파일에 서비스에 대한 엔드 포인트를 하나 이상 추가하고 다시 시도하십시오. – Peter

+0

아마도 서비스 응용 프로그램을 호스팅하는 웹 사이트에서 net.tcp 바인딩을 사용하지 못할 수도 있습니다. net.tcp가 바인딩 목록에 있으면 iis를 체크인하십시오. –

답변

1

대부분의 경우 서비스 응용 프로그램을 호스팅하는 웹 사이트에서 net.tcp 바인딩을 사용하지 못할 수 있습니다. net.tcp가 바인딩 목록에 있으면 iis를 체크인하십시오.