風語·深蓝

Agile Methodology, HeadStorm And MindMap, they will change me.

导航

.Net Remoting 集成于IIS的简要步骤

Posted on 2005-09-16 11:03  風語者·疾風  阅读(1151)  评论(0编辑  收藏  举报
其实感觉Remoting若基于IIS为宿主,只能使用HTTP作为传输协议,并默认端口80(若更改IIS默认端口后,不知道Remting的端口是随之改变还是需要手动设置)

首先,在IIS上新建一个Web应用程序,假定虚拟目录名为Remoting.(当然用VS建立一个Web应用程序项目是最方便的方式),并把WebForm1删除,然后修改Web.Config的内容

给出一个最简单的配置例子:
<system.runtime.remoting>
  <application>
   <service>
    <wellknown type="EntityBeanLibray.NorthWood, EntityBeanLibray" objectUri="EntityBean.soap" mode="Singleton" />
   </service>
   <channels>
    <channel ref="http"/>
   </channels>
  </application>
 </system.runtime.remoting>

1、可能大家还不是很理解type属性,其实type属性分两部分<命名空间.类名>,<程序集>
2、objectUri是用来表示对象的uri的,到时候我们用这个uri来连接到服务端
3、我们需要为Uri指定soap(soap格式化)或者rem(二进制格式化)后缀
4、指名通道使用Http协议

我们在浏览器输入:http://localhost/remoting/EntityBean.soap?wsdl进行测试。

IIS的部署也是自动启动服务的,还有一个优点就是可以结合IIS的windows身份认证对Remoting进行访问控制。但是感觉上使用Http协议比TCP方式效率要低很多,甚至比WebService效率还低。这种情况下Remoting比WebService的唯一优势就是远程对象能够拥有状态信息。当然这种传输方式若用数据压缩的话,收益也会更大。