Remoting技术使用配置文件示例
1、創建類庫工程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、創建服務器端程序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();
??????? }
??? }
}
創建服務器端配置文件 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、創建客戶端程序 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();
??????? }
??? }
}
創建客戶端配置文件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>
?
運行方法:
客戶端程序:RemoteClient.exe、RemoteClient.exe.config 、RemotableType.dll;
服務器端程序:RemoteTypeHost.exe、RemoteTypeHost.exe.config、RemotableType.dll;
客戶端、服務器端均可以分布在網絡可見的任何計算機上。
啟動服務器端,啟動客戶端。
使用配置文件的優點很明顯:
你可以隨時隨地、隨心所欲改變配置,而無需重新編譯程序。
比如,你可將服務器端配置文件中端口改為9999,
客戶端配置文件當然要做同步改動。
啟動服務器端;啟動客戶端;你會發現程序運行良好。
?
注意:wellknown 中 type屬性為:<namespace>.<class>, <assembly>
?
?
?
轉載于:https://www.cnblogs.com/MayGarden/archive/2010/01/06/1640637.html
總結
以上是生活随笔為你收集整理的Remoting技术使用配置文件示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 台式机怎么更新主板bios 如何升级台式
- 下一篇: 关于WebBrowser.Documen