6
성 wcf 시설 등록에 대해 혼란 스럽습니다.Castle Wcf 비 HTTP 서비스 용 시설을 설치하려면 svc 파일이 필요합니까?
저는 BasicHttpBinding에 대한 블로그 게시물을 읽었습니다. 그러나 net.tcp 설정을 설정하기위한 쉬운 샘플을 찾을 수 없습니다.
내가 콘솔 응용 프로그램에서 서비스를 호스팅 할이 ...
난 당신이 여기에 문제를 볼 수있는이 ... 뭔가를 썼다? false로 세트가 있다면 당신은 AddressAlreadyInUse 예외를 얻을 것이다 - 당신이 메타 데이터를 게시하고자하는 경우_container = new WindsorContainer();
_container.AddFacility<WcfFacility>();
_container.Register(Component.For<IMembershipService>().ImplementedBy<MembershipService>()
.AsWcfService(
new DefaultServiceModel()
.AddEndpoints(WcfEndpoint
.BoundTo(new NetTcpBinding() { PortSharingEnabled = false })
.At("net.tcp://localhost/MembershipService")
)
.PublishMetadata()
)
);
사용자가 포트 공유를 사용할 수없는 경우를 염두에 두십시오. 이 문제가 발생했습니다. SMSvcHost.exe.config 파일에서 allowAccounts 섹션을 편집하여 사용자가이를 수행 할 수 있도록 힌트가있는 CommunicationException이 발생했습니다. 하지만이 솔루션은 C : \ Windows \ Microsoft.NET \에 파일이 있기 때문에 실용적이지 않습니다. 내 솔루션 지금까지 : Mex Endpoint/PublishMetadata()를 제거하십시오. 앞으로 필요할 경우 두 번째 바인딩 구성으로 메타 데이터를 게시 할 예정입니다. –
아, 그리고 전에 "Net.Tcp 포트 공유 서비스"가 내 Windows 서비스에서 사용 중지되었습니다. 최종 사용자가이 기능을 사용 중지 할 수 있으며이를 사용하도록 설정하지 못할 수도 있습니다 (설치 프로그램을 사용하여 사용하도록 설정하는 것은 쉬운 옵션이 아닙니다). –