은 내가 WCF 서비스에서 오류가 발생 한 후이 오류가 계속 오류 처리와 효율적으로 WCF 서비스를 처리하기 :어떻게
오류는throw new FaultException<DatabaseFault>(new DatabaseFault(e.Message));
방법을 사용하여 서비스에 의해 발생합니다
The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state.
매번 클라이언트와 서비스를 다시 시작할 필요가없는 방식으로이 문제를 처리 할 수 있습니까?
저는 WCF 4.0, C#을 사용하고 있습니다.
편집 1 : WCF 서비스에 net.tcp 바인딩을 사용합니다.
편집 2 : WCF로 작업하는 효율적인 방법이 필요합니다. 존 S가 말한 것과는 관련이 없습니다.
편집 3 : 내 코드가 작동합니다. 그러나 나는 그것이 (설계된 방식대로) 실행되어야하는 것처럼 동작하지 않는다고 생각합니다.
AuctionService = new ChannelFactory<IAuctionService>(
new NetTcpBinding(),
new EndpointAddress("net.tcp://localhost:9000/AuctionWcfEndPoint")).CreateChannel();
내가 뭔가 잘못하고 있는가 :
using (ServiceHost host = new ServiceHost(typeof(AuctionService)))
{
Console.WriteLine("AuctionWCF.TestHost Started");
host.AddServiceEndpoint(
typeof(IAuctionService),
new NetTcpBinding(),
"net.tcp://localhost:9000/AuctionWcfEndPoint");
host.Open();
Console.WriteLine("AuctionWCF.TestHost listens for requests");
Console.ReadLine();
}
이 클라이언트는 다음과 같습니다
이 내 서비스를 호스팅하는 콘솔 응용 프로그램입니다?
가능한 중복으로 사용할 수 anothe 좋은 답변을 찾을 573872/wcf-client-using-block-issue를위한 최선의 해결책) –
어떻게 그렇게 효율적이지 않습니까? 또한 방금 정확한 문제를 파악했습니다. 왜 그렇지 않다고 생각하니? –
WCF에 전화 할 때마다 채널을 열고 싶지 않습니다. 나는 매번 같은 채널을 사용하고 또 다른 하나의 광석을 시작하는데 실패한다면. 방금 WCF 작업을 시작했고이 문제와 관련된 전략을 원합니다. –