我有两个.net 3.5 WCF服务,其中服务A同步调用服务B.
两种服务都在同一台机器上并具有以下行为:
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
我为服务B创建了客户端,并在OperationContract
服务A中使用它:
Proxyclient client = null;
bool error = true;
int returnVal = 0;
try
{
client = new Proxyclient;
returnVal = client.CallServiceB();
client.Close();
error = false;
}
finally
{
if (error)
{
client.Abort();
}
}
但是当调用服务A时,它会将错误写入TraceListener logfile:
写入管道无法识别的错误232时出错。
请注意,此邮件具有特定约束力(netNamedPipeBinding
)。对于我测试的所有其他绑定,我也遇到了错误。其他绑定的一般含义是:
无法写入/连接连接超时并且已经 闭合。
但是,服务/客户端工作,它只是在日志文件中产生错误,所以我认为WCF在这里重试基础。但这会阻止我的日志文件,我不确定这是否会在将来出现问题。
需要注意一些非常特别的事情:
仅当客户端未调用服务B超过2分钟时才会出现此问题(但此时我测试的每个绑定都会更改)。所以在服务启动后的第一次,日志中没有错误,如果我每10秒调用一次这个服务,那么日志中也没有错误。
我还做了什么:
我希望有人可以帮助我。
提前致谢。