0

まず、私の質問を読んでくれてありがとう。これが私が達成しようとしていることです。

私がやりたいことは、ASP.NET アプリケーションからの要求をリッスンする Windows アプリケーション (またはある種のサーバー) を作成することです。Windows アプリケーションがインストールされ、ASP.NET アプリケーションからのメッセージをリッスンしてから、何らかの処理を行います。流れは次のようになります。

ユーザーがデスクトップ アプリケーションをダウンロードし、自分の IP アドレスを私の Web サイトに登録します。デスクトップ アプリをダウンロードした後、ASP.NET アプリケーションはその特定のデスクトップ クライアントに要求を送信して、さらに処理することができます。この場合、さらなる処理は解像度とは無関係であると思います。そのため、どのような処理が行われるかについての詳細をスキップしました。しかし、それが重要であると思われる場合は、私に知らせてください。それらの詳細も追加します.

リクエストをリッスンするTCPサーバーの作成を検討しました。ユーザーは既に自分の IP アドレスを私の Web サイトに登録しているため、私の Web サイトはユーザーに一意の識別子を割り当て、その ID を IP アドレスと共にデータベースに保存します。これで、ASP.NET サイトはそのデスクトップ アプリケーションに要求を送信できます。

この目的のためにTCPサーバーを作成することを検討しました。調査中に PNRP にも出会いました。これは、私がやろうとしていることのようなものです。

いくつかのソリューションをお勧めできますか、またはこのシナリオでどこを調べるべきですか? 単純な TCPLISTENER を作成する必要がありますか、それとも PNRP アプローチを使用する可能性がありますか? または、他の何か?

基本的な要件は、Web アプリケーションがデスクトップ アプリケーションと通信できることです。Web アプリケーションは多数のユーザーにサービスを提供し、各ユーザーにはデスクトップ アプリケーションがインストールされます。一意のユーザー ID とそれに対応する IP アドレスのデータベースを維持する Web アプリケーションによって、どのデスクトップ クライアントの質問にどのユーザーが対応するか。

よろしくお願いします。

4

2 に答える 2

0

何をするにしても、ファイアウォール/NATを考慮に入れてください。クライアントアプリケーションがサーバーをポーリング(接続を開始)する方が簡単な場合があります。そうでない場合は、ユーザーのネットワーク機器で非常に手動の構成を行うことなく、ユーザーのコンピューターにリモートアクセス可能なサーバーを配置してワームの缶を開けます。 。

その部分を整理したら、私があなたの状況で使用したのは.NETRemotingでした。当時、WCFは出ていませんでしたが、出たときは私のニーズに対応できませんでした。TCP IPソケットはあまりにも生で(コードを書きすぎなければなりませんでした)、Remotingは私の問題を理想的に解決しました(接続をセットアップするためのコードの完全な行が手元にあり、それ以降はすべて自動でした)。

編集:私はRemotingをさらに柔軟にする優れたサードパーティライブラリを使用しています(Remotingの使用をやめるために、WCFが機能セットに追いつくのをまだ待っているほど柔軟ですが、まだ運がありません!)。http://www.genuinechannels.com/をチェックして、それらが持つすべての機能を確認してください。これには、サーバーからクライアントへの呼び出しが含まれ、それはあなたがする必要があることとまったく同じように聞こえます。見てみな。

于 2010-11-03T16:54:40.777 に答える
0

デスクトップ アプリで .NET リモート処理または Web サービスを使用できます。後者には WCF または WSE を使用します。COM を使用して Windows ファイアウォール規則を追加できます。

于 2010-11-03T16:56:26.340 に答える