私が現在開発中のモデルには、次の 3 つの要素が含まれます。
- (かなり) リッチな GUI を備えたクライアント アプリケーション
- ASP.NET/IIS Web サーバー
- そして、ローカル (#2 に関して) Windows プロセス (コンソール アプリケーション)
私の考えでは、クライアント アプリケーション (#1) がクエリ文字列を ASP.NET/IIS Web サーバー (#2) にポストし、ローカル Windows プロセス (#3) にクエリ パラメータを通知し、目的の関数を実行し、データを #2 に返し、それを #1 に返します。
このような (一見) 複雑なプロセスの必要性は、Windows プロセスの性質から生じます。このコンソール アプリケーションは、RPC を使用して 2 番目のサーバーに接続し、自身を認証します。ご想像のとおり、このプロセスにはコストがかかります。
Windows プロセスと ASP.NET/IIS ページをマージすると、要求ごとに新しい接続が開かれます。各認証ケースには約 4 秒かかるため、数十回の POST が立て続けに行われる場合、これはほとんど合理的ではありません。
幸いなことに、Windows コンソール アプリケーションは一度ログインすればセッションを維持できます。したがって、対話のソースが ASP.NET/IIS ページから派生することを考えると、このコンソール アプリケーションとのインターフェイスのソリューションを見つける必要があります。
この問題に関するトピックに関する Stackoverflow/MSDN のほぼすべての投稿を読みました。リモート処理、パイプ、ソケット、WCF などを使用できることを知っています。
そこで皆さんにお聞きします。同様の問題に遭遇したことがある場合、どのように解決しましたか? 私は正しい方向への決定的なポイントを求めているだけです。コードを含めることができれば、さらに感謝します。
ありとあらゆる助けをありがとうございました。