1. ホーム
  2. .net

[解決済み】WCFとは何か、何ができるのか?

2022-01-29 02:55:39

質問

WCFについて調べたのですが、それが何なのかよくわかりません。私が見つけたのは このページ アプリが他のアプリに機能を呼び出すことを可能にする方法のようです。DLLをロードして関数を呼び出すが、代わりにTCPを使用し、DLLをロードせずにユーザーにアプリを実行させるようなものです。

私はまだ混乱しています。どなたか、何に使うのか説明していただけませんか?

同じサービスをホストできる2つのアプリを実行すると、最初のアプリだけが実行され、残りはエラーになるようです? 私は関数を呼び出すことができますが、メモリの制限はありますか?スタックまたはヒープ上に割り当てられたときに、パラメータとしてbyte[]を渡すことができますか? ファイルハンドルは渡せないんですよね?(理由は思いつきません)。

3つのアプリをクライアントにするのは簡単ですか?アプリ2と3を開いて、現在読み込まれている画像に対して異なることをさせることができますか?(アプリ1) 編集、2) メモリ内の画像を異なるタイプでエクスポート (アニメーションGIF、AVI、PNGなど) 3) 異なる編集ツールまたはアプリで実行時にどのように見えるかを確認する

解決方法は?

@acidzombie24 さん、Ryan さんの回答に対するコメントへの反論です。

WCFは NOT は、リモート関数呼び出しではありません。全くその逆です!

WCFは メッセージベース 通信システム - クライアントはサーバーと同じメソッドを持つプロキシを持つことになります。クライアントプロキシでそのような関数を呼び出すと、WCF ランタイムが行うのは、それらのメソッドパラメータ、メソッド名、およびいくつかのヘッダをラップして シリアライズ メッセージをサーバーに送信します。

クライアントとサーバーの間には、リモーティング・プロトコルやデータベース接続のように、常にオープンな接続はありません。クライアントはメッセージをパッケージングして送信します。クライアントとサーバーの間のトランスポートメディアは、SMTP(電子メール)である可能性さえあります。

サーバーがメッセージを受信すると、WCFランタイムはそのリクエストを処理するためにあなたのサービスクラスのインスタンスを作成します。そのサービスクラスの適切なメソッドが呼び出され、パラメータが渡され、サービスが動作し、応答が生成されます。レスポンスは、トランスポートメディアを経由してシリアル化されたメッセージとして、同じ方法でクライアントに返送されます。

WCFは、分散システムを構築するための汎用的なメッセージベースの通信システムです。サーバーのどこかにたくさんのサービスがあって、クライアントに代わって特定の機能を実行するように提供し、クライアントに呼び出されたときに実行します。WCFはWebサービスのようなものですが、それ以上のものです。メッセージキューイング(MicrosoftのMSMQ製品を使用)、ネット/TCP通信、その他もろもろです。そして、これまでのどの通信APIよりもはるかに拡張性があります。