Remoting技术使用配置文件示例
1、創(chuàng)建類庫工程RemotableType.dll (提供remotable 類型)。
RemotableType.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MyRemotableType
{
??? public class RemotableType : MarshalByRefObject
??? {
??????? private string _internalString = "This is the RemotableType.";
??????? public string RemoteTypeMethod()
??????? {
??????????? return _internalString;
??????? }
??? }
}
2、創(chuàng)建服務(wù)器端程序RemoteTypeHost.exe。注意添加System.Runtime.Remoting.dll 和
RemotableType.dll 的引用。
Listener.cs :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Remoting;
using MyRemotableType;
namespace RemoteTypeHost
{
??? class Listener
??? {
??????? public static void Main()
??????? {
??????????? RemotingConfiguration.Configure("RemoteTypeHost.exe.config", false);
??????????? Console.WriteLine("Listening for requests. Press Enter to exit...");
??????????? Console.ReadLine();
??????? }
??? }
}
創(chuàng)建服務(wù)器端配置文件 RemoteTypeHost.exe.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
? <system.runtime.remoting>
??? <application>
????? <service>
??????? <wellknown
?????????? mode="Singleton"
?????????? type="MyRemotableType.RemotableType, RemotableType"
?????????? objectUri="RemotableType.soap"
??????????? />
????? </service>
????? <channels>
??????? <channel ref="http" port="8989"/>
????? </channels>
??? </application>
? </system.runtime.remoting>
</configuration>
3、創(chuàng)建客戶端程序 RemoteClient.exe。注意添加System.Runtime.Remoting.dll 和
RemotableType.dll 的引用。
Client.cs :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Remoting;
using MyRemotableType;
namespace RemoteClient
{
??? class Client
??? {
??????? public static void Main()
??????? {
??????????? RemotingConfiguration.Configure("RemoteClient.exe.config", false);
??????????? RemotableType remoteObject = new RemotableType();
??????????? Console.WriteLine(remoteObject.RemoteTypeMethod());
??????????? Console.Read();
??????? }
??? }
}
創(chuàng)建客戶端配置文件RemoteClient.exe.config :
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
? <system.runtime.remoting>
??? <application>
????? <client>
??????? <wellknown
?????????? type="MyRemotableType.RemotableType, RemotableType"
?????????? url="http://shuzh:8989/RemotableType.soap"
??????????? />
????? </client>
??? </application>
? </system.runtime.remoting>
</configuration>
?
運(yùn)行方法:
客戶端程序:RemoteClient.exe、RemoteClient.exe.config 、RemotableType.dll;
服務(wù)器端程序:RemoteTypeHost.exe、RemoteTypeHost.exe.config、RemotableType.dll;
客戶端、服務(wù)器端均可以分布在網(wǎng)絡(luò)可見的任何計(jì)算機(jī)上。
啟動(dòng)服務(wù)器端,啟動(dòng)客戶端。
使用配置文件的優(yōu)點(diǎn)很明顯:
你可以隨時(shí)隨地、隨心所欲改變配置,而無需重新編譯程序。
比如,你可將服務(wù)器端配置文件中端口改為9999,
客戶端配置文件當(dāng)然要做同步改動(dòng)。
啟動(dòng)服務(wù)器端;啟動(dòng)客戶端;你會(huì)發(fā)現(xiàn)程序運(yùn)行良好。
?
注意:wellknown 中 type屬性為:<namespace>.<class>, <assembly>
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/MayGarden/archive/2010/01/06/1640637.html
總結(jié)
以上是生活随笔為你收集整理的Remoting技术使用配置文件示例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 台式机怎么更新主板bios 如何升级台式
- 下一篇: 关于WebBrowser.Documen