IIS部署Remoting总结

1.在IIS里新建一个网站,命名为test,路径指向 e:\test;

2.在 e:\test下创建目录bin;

3.把Remoting远程对象的Project设置为类库,编译为DLL文件,然后复制到e:\test\bin;

4.如果IIS是64位平台,而DLL是x86平台,需要修改IIS的应用程序池为x86平台:
1)选择IIS的“应用程序池”,选中test;
2)选择“高级设置”;
3)设置”启用32位应用程序“为true;

4)修改.Net Framework版本为v4.0

注意.Net Framework的版本,应用程序池一定要与类库的版本一致,否则会报告“输入流是无效的二进制格式”错误。

 

5.在e:\test下创建web.config文件,并配置remoting参数。


1)在web.xml里注册远程对象。如果没有注册远程对象就调用它,Remoting会报告错误“输入流是无效的二进制格式。开始内容(以字节为单位)是:“。
<wellknown type="Framework.HandlerBase.SessionHandler,Framework.HandlerBase" objectUri="SessionHandler.soap" mode="SingleCall" />

2)在web.xml里注册自定义的SinkProvider。
<provider type="Framework.Server.ChannelSinkProvider, Framework.Server"/>

3)配置formatter,指定使用二进制序列化。Remoting对soap默认使用XML序列化,但XML序列化不支持泛型,因此必须使用二进制序列化。
<formatter ref="binary" typeFilterLevel="Full" />

 

6.客户端的TcpChannel改为HttpChannel,否则会报告“System.ArgumentNullException ... DispatchChannelSink ... requestMsg“的错误。

posted @ 2015-09-16 11:11  深圳大漠  阅读(795)  评论(0编辑  收藏  举报