Wcf System.ServiceModel.Channels.MessageProperties对象已被释放
当我在WCF服务中引发异常时。内置WebErrorHandler异常处理程序本身无法尝试访问OperationContext.Current.IncomingMessageProperties,因为它似乎已被释放。结果是真正的错误被掩盖了,我总是得到一个HTML错误输出Wcf System.ServiceModel.Channels.MessageProperties对象已被释放,wcf,Wcf,当我在WCF服务中引发异常时。内置WebErrorHandler异常处理程序本身无法尝试访问OperationContext.Current.IncomingMessageProperties,因为它似乎已被释放。结果是真正的错误被掩盖了,我总是得到一个HTML错误输出 为什么要处置我的收入和财产?服务返回一个流-不确定这是否相关。我发现了问题。我正在创建一个WebFaultException。现在,我创建了一个普通异常,并使用IErrorHandler将其正确序列化到客户端。当我尝试从另一个方
为什么要处置我的收入和财产?服务返回一个流-不确定这是否相关。我发现了问题。我正在创建一个WebFaultException。现在,我创建了一个普通异常,并使用IErrorHandler将其正确序列化到客户端。当我尝试从另一个方法(而不是OperationContract方法)访问OperationContext.Current.IncomingMessageProperties时,就会发生这种情况 访问OperationContext.Current.IncomingMessageProperties的步骤 创建OperationContext的extencion方法以访问属性 大概是这样的:
public static string GetClientIP(this OperationContext context)
{
string ip = "";
MessageProperties messageProperties = context.IncomingMessageProperties;
RemoteEndpointMessageProperty endpointProperty =
messageProperties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
if (endpointProperty != null)
{
ip = endpointProperty.Address;
}
return ip;
}