0

WCF REST Webサービスからのソースコードがない(バイナリのみがある)コンソールアプリケーションを実行する必要があります。サービスが起動して実行されたら(localhost、debug)、次のコードを入力します。

Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.FileName = strCommand;
p.StartInfo.Arguments = strCommandParameters;
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();

.exeファイルが見つかりましたが、何も起こりませんこのコードの後に​​ブレークポイントを設定すると、そこで停止してコードが実行されます。コマンドパラメータに関して何が起こっても、コンソールアプリケーションはそのディレクトリに少なくともlog.txtファイルを生成することになっていますが、生成しません。何か案は?

編集:それ機能していました...唯一の違いは、log.txtファイルがコンソールアプリケーションのディレクトリではなく、実行中のWebアプリケーションのデバッグディレクトリに生成されたことです。したがって、出力ファイルの相対パスは、サーバーWebアプリケーションを基準にしています。

4

1 に答える 1

0

IIS で WCF サービスをホストしており、十分な権限を持たない AppPool Credentials を使用してコンソール アプリケーションが開始されていると思います。ProcessMonitorを使用して Service/ConsoleApp を監視し、アクセス拒否メッセージを確認してみてください。

于 2012-08-10T09:17:18.010 に答える