Я получаю эту ошибку после того, как выкину ошибку в службе WCF:
The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state.
Ошибка генерируется службой с использованием
throw new FaultException<DatabaseFault>(new DatabaseFault(e.Message));
Как я могу справиться с этим, чтобы не нужно было перезапускать и клиент, и сервис каждый раз?
Я использую WCF 4.0, C #.
Редактировать 1:Я использую привязку net.tcp для службы WCF.
Редактировать 2: Я хочу эффективный способ работы с WCF.Это не связано с тем, что говорит Джон С.
Правка 3: Мой код работает.Но я думаю, что он работает не так, как должен (как он был спроектирован).
Это консольное приложение, в котором размещается мой сервис:
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();
}
Это клиент:
AuctionService = new ChannelFactory<IAuctionService>(
new NetTcpBinding(),
new EndpointAddress("net.tcp://localhost:9000/AuctionWcfEndPoint")).CreateChannel();
Я что-то не так делаю?