【问题标题】:.NET Remoting Exception in Binary Stream二进制流中的 .NET Remoting 异常
【发布时间】:2023-01-04 21:11:12
【问题描述】:

我在使用 .NET 远程处理时遇到了一个奇怪的异常,异常消息如下:

“二进制流‘0’不包含有效的 BinaryHeader。可能的原因是序列化和反序列化之间的无效流或对象版本更改。”

我在这个代码块中遇到了这个异常:

static bool _isUsable=false;

if(_isUsable)
{
    IExchange exchangeObject = (IExchange)Activator.GetObject(typeof(IExchange), "tcp://localhost:24001/ExchangService");
            
    if (exchangeObject != null)
    {
        try
        {
            var result = exchangeObject.GetPrise(20);
        }
        catch (Exception exp)
        {
            var testMessage = exp.Message;
        }
    }
    else
    {
        var testMessage = "object is null";
    }
}

这个问题的奇怪部分是,如果我删除 if(_isUsable) 块,.NET 远程处理将无一例外地完成。

【问题讨论】:

  • 当然,此时_isUsable参数为真。

标签: .net exception remoting


【解决方案1】:

我在反射模式下使用的 DLL 中使用了这个代码块,我将 DLL 类更改为静态,这个问题就解决了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-10
    • 2010-09-07
    • 1970-01-01
    • 2011-08-03
    • 2012-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多