2012-03-07 18 views
1

IISサーバーにコンソールc#アプリケーションを展開することは可能ですか? 名前付きパイプからデータを取得するマシンで1つの.exeファイルが実行されていて、C#アプリケーションがこのデータをパイプから取り出し、TCPソケットを使用して実行しているWebアプリケーションに送信すると、C#コンソールウェブサーバー上のアプリケーション? 私はASP.netとC#を初めて使用しています。IISサーバーにc#コンソールアプリケーションを公開する

+0

abjpaiの展開のこの種を使用して、あなたのEXEを実行したいん場所を明確にしてください。また、「exeを実行する場所」の少なくとも2つのオプションが既にカバーされているため、既存の回答にコメントすることもできます。 –

答えて

1

クライアントマシンが適切な.NET Frameworkを持っているかどうかわからないこの方法では、IISサーバー上のexeファイルをホストすることができますが、C#のコンソールアプリケーションを展開するのが一般的ではありません、

  1. インストールされます。そのため、コンソールアプリケーションは起動しないことがあります。
  2. ウェブブラウザはダウンロードを単にブロックすることができます。
  3. exeファイルをダウンロードしても、ユーザーがローカルで起動しない限り、自動的には実行されません。マイクロソフトによる

推奨アプローチは、あなたはその後、IIS側でのClickOnceインストーラをホストできるのClickOnce、

http://msdn.microsoft.com/en-us/library/t71a733d%28v=vs.80%29.aspx

を使用して、クライアント側のアプリケーションをデプロイすることです。たとえば、MicrosoftのCodePlexは、オープンソース・プロジェクト、

http://codeplex.codeplex.com/wikipage?title=ClickOnce

+0

お返事ありがとうございます。私は私のシナリオを説明します。 1. exeが外部デバイスからリアルタイムデータを受け取り、名前付きパイプに入れます(exeはサーバーマシン上で実行されています)。2.サーバー上でスクリプトを実行し、このデータを名前付きパイプから取得して送信する必要がありますTCPソケットを使用してクライアント側に送信します(今のところ私はこれを行うために#コンソールアプリケーションを持っています)。3. TCPソケットからデータを取り出し、リアルタイムでWebページに表示するクライアント側のASPコード。私の疑問は、Webサーバー上でそのC#コード(ポイント2)を実行する方法ですか? –

+0

これはユーザーの関与を必要としないため、ポイント2を通常のコンソールアプリケーションではなくWindowsサービスアプリケーションにすることができます。この方法では、このサービスは常にバックグラウンドで実行され(名前付きパイプ/ TCP経由で通信します)、ASP.NET WebサイトはTCPを介してデータを消費することができます。その後、ClickOnceは必要なくなりました。 –

+0

ok私の質問はばかばかしいかもしれませんか?しかし、私はWindowsサービスアプリケーションを使用したことがない...このWindowsサービスアプリケーション(それはC#になります)は、Webサーバー上で実行されますか? –

0

いいえ、IISは、WebサイトまたはWebアプリケーションのみをホストするために使用できます。 IISでコンソールアプリケーションをホストすることはできません。

関連する問題