私は最近、リモーティングを理解するためにリモーティングについて勉強していますが、リモーティングは確かに良いものであることがわかりました。
通常、リモーティングを使用するには 3 つの方法があります。1 つは
最初の方法: パブリック オブジェクトの公開
パブリック オブジェクトはローカルに作成されます
2 つ目: パブリック オブジェクト (SAO) のリモート作成
オブジェクトはクライアント クライアント要求の 3 番目のタイプ: プライベート オブジェクト (CAO) のリモート作成
オブジェクトは HOST 上に作成され、クライアントはサーバー上のオブジェクトを参照します
ホスト:
ChannelServices.RegisterChannel (new TcpChannel(1500));
cTransfer Trans = new cTransfer();
RemotingServices.Marshal (Trans, "TestService");クライアント:
cTransfer T = (cTransfer ) Activator.GetObject(typeof(cTransfer),
「tcp://host:1500/TestService」);
2 番目の方法
Host:
ChannelServices.RegisterChannel (new) TcpChannel(1500));
RemotingConfiguration.RegisterWellKnownServiceType(typeof (cTransfer) ),
"TestService", WellKnownObjectMode.Singleton);Client:
cTransfer T = (cTransfer) Activator.GetObject(typeof(cTransfer),
3 番目のタイプのメソッド
ホスト:
ChannelServices.RegisterChannel (new TcpChannel(1500));
RemotingConfiguration.RegisterActivatedServiceType(typeof(cTransfer));クライアント:
object[] attr = {new UrlAttribute("tcp://host:1500")} ;
object[] args = {"コンストラクター引数のサンプル"};
cTransfer T = (cTransfer) Activator.CreateInstance(typeof(cTransfer), args, attr);
リモート呼び出し処理を可能にするオブジェクトが必要な場合、このオブジェクトには次のものが必要ですMarshalByRefObject クラスから継承します。
リモート中にファイルを転送するにはどうすればよいですか?基本的な考え方は、クライアントでクライアントのファイルを開き、Byte[] 型を変換してからホスト オブジェクトを呼び出すことです。
[シリアル化可能]
public struct kAction
{
public string filename;
public byte[] context; ファイルを開き、ストリーム バイトを Context
Stream に保存します fileStream =File.Open(this. transFileName.Text,FileMode.Open);
fileStream.Position=0; ,0,Content.Length) ;
ホストがKactionを読み取ったら、それを指定されたフォルダーに保存します
MemoryStream meoeryStream=new MemoryStream(k_Action.context);
FileStream fileStream=new FileStream(@"d:" +k_Action.filename,FileMode.Create);
meoeryStream.WriteTo(fileStream); HOST に送信する準備をするときに、「潜在的に危険なタイプが含まれています」というメッセージが表示されます。
[シリアル化可能]
public struct kAction
{
public string filename;
public byte[] context;
public FineInfo fileInfo;//Here
};
自分の経験を記録してください。時間があるときに整理して、次回完全な記事にしたいと思います。
cnzcのブログ
以上がASP.NET の Remoting サービスを介してファイルをアップロードする例の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。