.Net Remoting 排错笔记:System.ArgumentNullException: No message was deserialized prior to calling the Di...

本文介绍了一种在使用IIS作为宿主并采用BinaryFormatter时遇到的.NET远程调用异常:System.ArgumentNullException,并给出了详细的解决方案,即通过修改配置文件将单向通道更改为双向通道。

异常提示:
System.ArgumentNullException: No message was deserialized prior to calling the DispatchChannelSink.
Parameter name: requestMsg


场景:
1.用IIS作宿主。
2.使用BinaryFomatter。
3.客户端订阅服务器端事件后,服务器端激活事件时产生。

解决措施:

在配置文件中将单通道改为双向通道
原配置文件:

<system.runtime.remoting>
  
<application>
    
<service>
    
</service>
    
<channels>
      
<channel ref="http">
        
<serverProviders>
          
<provider ref="binary" typeFilterLevel="Full"/>
        
</serverProviders>
      
</channel>
    
</channels>
  
</application>
</system.runtime.remoting>

新配置文件:
<system.runtime.remoting>
  
<application>
    
<service>
    
</service>
    
<channels>
      
<channel ref="http">
        
<serverProviders>
          
<provider ref="binary" typeFilterLevel="Full"/>
        
</serverProviders>
        
<clientProviders>
          
<provider ref="binary"></provider>
        
</clientProviders>
      
</channel>
    
</channels>
  
</application>
</system.runtime.remoting>

测试通过。

转载于:https://www.cnblogs.com/chinadhf/archive/2007/11/14/958656.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值