Remoting服务集成到IIS的简单总结

 

    因为项目的Remoting服务有可能集成到IIS中,所以下午利用一些时间,做了一个例子,实现了需要的功能,代码就凑合一下。
现在把这个过程总结一下:

1.       创建远程对象类Class1,它实现一个接口Interface1

public class Class1 : MarshalByRefObject, Interface1
    {
        #region Interface1 Members
        public string SendMessage(string msg)
        {
            return "Hello " + msg;
        }
        #endregion
       public override object InitializeLifetimeService()
        {
            return null;
        }
    }

    public interface Interface1
   {
        string SendMessage(string msg);
    }

2.      建立虚拟目录



根据自己的需要选择选项,我是偷懒,不想受什么限制。生活中已经受到很多限制,难道在自己的机器上做开发还要收到限制吗?

F:\IISTest目录下建立Bin目录,然后将包含远程对象类的组件IISClassLibrary1.dll放入bin目录中。并创建Web.config

<system.runtime.remoting>
    <application>
      <service>
        <wellknownmode="Singleton"
                   type="IISClassLibrary1.Class1,IISClassLibrary1"
                   objectUri="Class1.soap"/>
      </service>
     <channels>
        <channel
           name="MyChannel"
           priority="100"
           ref="http"
            />
      </channels>
    </application>
 </system.runtime.remoting>

3.      建立客户端

使用配置文件,创建App.config配置文件

<?
xmlversion="1.0"encoding="utf-8" ?>
<configuration>
 <system.runtime.remoting>
    <application>
     <client>
       <wellknowntype="IISClassLibrary1.Class1,IISClassLibrary1"
                   url="http://localhost/IISTest/Class1.soap"/>

      </client>
    </application>
 </system.runtime.remoting>
</configuration>


            //客户端调用
            string
filename = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile;

            RemotingConfiguration.Configure(filename,false);

            IISClassLibrary1.Interface1 mgr = new IISClassLibrary1.Class1();           

            string retValue = mgr.SendMessage("yiping");

            获得所需要的结果:Hello yiping

    用“Hello yiping"给自己打气,努力做到“不抛弃,不放弃”,希望生活一天比一天美好。

posted @ 2007-09-29 15:55  黑星  阅读(261)  评论(0编辑  收藏  举报