在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。这与John S所说的无关。
编辑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();
我做错了吗?
答案 0 :(得分:1)
你使用ChannelFactory吗?如果是这样,this answer显示了一个对我来说非常有用的ChannelFactoryManager示例。
答案 1 :(得分:0)