WCFコールバックとイベントに関するチュートリアルがあることは知っていますが、実際に機能させるのに問題があるか、複雑すぎます。私は本当の初心者なので、現時点で具体的に理解しようとしていることを目的とした確かな初心者向けチュートリアルを誰かが知っているかどうか聞いてみたいと思います。私が初心者だと言ったように、間違った用語を使用した場合はご容赦ください(そして私を訂正してください)。
問題:
実際よりも複雑に見えるかもしれません。基本的に私が達成しようとしていることは次のとおりです。
- ローカルメモリ(たとえば、5つの整数の配列)を持ち、WCFサービスを実行しているホスト。これは、クライアントからのクエリをリッスンし、これらの整数の1つが変更されたときにクライアントに更新(イベント?)を起動します(コマンドプロンプトやSet()を介したユーザー入力などの外部ソースから)。
- これらの5つの整数のいずれかを返すか、ホスト配列の特定のインデックスにサブスクライブするために直接クエリを実行できるクライアント。
私は何ができますか:
接続を設定できますが、サービスはスタンドアロン機能に限定されています。クライアントは「クエリ」を実行できますが、リモート関数呼び出しに制限されます(「追加」など、すべてのパラメーターが関数とともに渡され、処理が内部で実行されます)。
私が理解しようとしていること:
- サービスコントラクト関数からホストメモリに保持されているいくつかの変数にアクセスするにはどうすればよいですか?たとえば、ホストのアプリケーションメモリに格納されているものを返すだけのクライアントGetInt()からメソッドを呼び出すにはどうすればよいですか?
- ホストからクライアントに「メッセージ」をプッシュするにはどうすればよいですか?たとえば、ホストで、TellClient(int x)を呼び出します。これにより、クライアント側で関数が呼び出されますか?これは、両側でサービスを実行しなくても可能ですか?
TLDR:
ホスト:サービス<->クライアント。クライアントが関数を呼び出さずに(ポーリングやクエリなしで)データ(単にint)をクライアントにプッシュする方法はありますか?静的メンバーを使用せずに、WCFサービスアクセス変数をホストアプリケーションのインスタンスに格納する方法はありますか?これは簡単な方法で達成できますか?
あなたの助けと時間をありがとう、私は本を書いたことを知っています。 誰かが素敵なチュートリアルを知っているなら、私にそれらを教えてください。 しかし、お願いします-クライアントがホスト上でaddを呼び出して結果を返すAdd(int x、int y)の例を指さないでください-私はすでにこれを数回繰り返しましたが、それは私が理解するのに役立ちませんWCFの実際の機能。この時点では、私は実際に深刻なことを成し遂げようとはしていません。WCFで何ができるかを学ぶことができるように、それを単純に保つように努めています。また、ドキュメントが非常に役立つとは思っていません。みなさん、ありがとうございました。