2009-05-14 7 views
0

WebサービスでWindowsコンソールアプリケーションを呼び出そうとしています。ローカルサービスとして実行している場合、つまり同じソリューションでは完璧に動作しますが、IIS localServerとしてホストされているWebサービスを通じて呼び出そうとすると、呼び出しません。セキュリティ上の問題だと思う。私は、Webサービスへの新たなんだと私はRunning-EXE-through-web-services

  Process.Start() function... 

そして、もう一つを使用してアプリケーションを呼んでいる、それはWindowsのサービスの場合、それは素晴らしい作品....

任意のアイデア?

答えて

0

IUSR_ *ユーザーアカウントにはコンソールアプリケーションを実行する権限がありますか?

3

あなたのコンソールを別のプロジェクトとして扱います。最初に動作することを確認してください。

私はあなたがasp.net Webアプリケーションで説明したことをやったことがあります。私はそれをテストしました。同じコードがWebサービスで正常に動作します。ここでのトリックは "startInfo.UseShellExecute = False"です

この例では、実行時に実行されるコンソールアプリケーションにパラメータが渡されています。 (VBで申し訳ありません)

Dim startInfo As System.Diagnostics.ProcessStartInfo 
Dim pStart As New System.Diagnostics.Process 

startInfo = New System.Diagnostics.ProcessStartInfo("C:\Inetpub\wwwroot\KPIMi\Annotation Editor\Annotation_Console.exe") 
startInfo.Arguments = strServerName & "-" & strPrimaryKey & "-" & txtStart.Text 
startInfo.UseShellExecute = False 

pStart.StartInfo = startInfo 
pStart.Start() 

pStart.WaitForExit() 'コードは、exeファイルが実行されるまで停止します。

これが役に立ちます。

+0

もう1つは、PC-NAME \ ASPNETローカルアカウントにEXEの場所へのアクセス権があることを確認してください。 – MoSlo