2011-12-05 16 views
1

asp.netサーバーで外部アプリケーションを起動しようとすると、プロセスが実行されて正常に動作することがわかりますが、すべてがバックグラウンドモードで実行されます。ASP.NET Process.Start()はバックグラウンドモードでプロセスを起動します

私はcassiniウェブサーバーを使用しています。またStartInfo.CreateNoWindow = false;は役に立ちません。

たとえば、Visual Studio Developmentサーバーではすべてが正常に表示されます。

アプリを起動して目に見える形で表示するにはどうすればよいですか?

+0

ウェブブラウザを実行しているユーザーのコンピュータでアプリを起動して表示しますか?もしそうなら、これは不可能で、asp.net、iss、http、html、およびjavascriptの間ですべてがどのように適合するかについての深い誤解を裏切っている。 –

+0

私はそれをサーバー側から実行したい。私はProcess.Start()を使用している理由は、私が直面しているのは、カジノのWebサーバーが "デスクトップとの対話"モードで動作しないことだけです。だからこそ、アプリケーションの顔=は表示されません)。いくつかの回避策がありますか? –

答えて

1

これは予期された正しい動作です。 ASP.Net/IISはサービスとして実行され、サービスによって作成されたウィンドウはその目的のために予約された非公開の隠しデスクトップに表示されます。このデスクトップを表示する方法はありません。

開発サーバーは、通常のユーザーデスクトップのコンテキスト内で実行される通常のアプリケーションであるため、開発サーバーで動作します。

ブラウザを使用してユーザのコンピュータでウィンドウを開く場合は、これは不可能です。

0

ここに記載されている操作手順https://stackoverflow.com/a/4679686/166921によって、asp.netによって開始されたプロセスのウィンドウがサーバーマシンに表示されました。以下

関連するステップは、(彼らに窓を逆にした後に表示されるまで停止):

は、この手順に従って、これを設定するには、デスクトップ

と対話するようにIIS管理サービスを有効にします。

a。コントロールパネルを開き、次の手順を実行します。Windows NTの場合:[サービス]をクリックします。 Windows 2000、Windows XP、および.NET Serverの場合:[管理ツール]、[サービス]の順にクリックします。

b。 IIS Admin Serviceをダブルクリックします。

c。 [ログオン]タブで、[サービスとデスクトップとの相互作用を許可する]チェックボックスをオンにします。 IIS Admin Serviceをローカルシステムとして実行することを忘れないでください。 d。 IIS Admin Serviceを停止して再起動します。

関連する問題