none
ASP.NETから別プロセスの起動 RRS feed

  • 質問

  • こんにちは。

    ASP.NET(C#)から別プロセス(C#で作成したコンソールアプリ)を起動させようとしております。

    これを実行すると、以下のようなエラーが出てしまいます。

     

    JITデバッグに失敗しました:アクセスが拒否されました。

    JITデバッグはユーザーアカウントによって開始されました。'ユーザ名'

    ・・・

     

    'ユーザ名'に該当するユーザに"Debugger Users"権限を追加しましたが、解決しません。ちなみにASP.NETから実行させようとしているコンソールアプリは単体で動作しております。

    情報よろしくお願い致します。
    2007年6月20日 6:12

すべての返信

  • 動作させようとしているのはWindows サーバ上でしょうか?

    その場合、ASP.NETの実行時ユーザには対話的な実行権限がなかったかと思います。

    そもそもWebアプリでサーバ上でコンソールアプリを起動するのはどうかと思いますが。。。

    2007年6月20日 6:32
  • 動作させようとしているのは、Windowsサーバ上です。

    たしかに対話的プログラムは実行できても、視覚的に表示されませんでした。

    (notepad.exeなどで試しましたが、プロセスがバックグラウンドで立ち上がっているだけでした)

     

    今回、ASP.NETから立ち上げるコンソールアプリの内容は、自動で特定のファイルを

    印刷するというものであり、対話的なものではありません。

    ASP.NETより、プレビューを見せずに複数のWordファイルを印刷する必要があり、

    Microsoft.Office.Interop.Word関連のクラスを使用しようと思いましたが、うまくいかなかったため、

    その部分(Wordクラスを使用した印刷)のみをC#アプリケーションとして独立させてASP.NETより別プロセスとして動作させようとしておりました。たしかに、Webアプリからコンソールアプリを起動することは邪道ですね。同感であります。

     

    結論としては、ASP.NETから別プロセスを起動することは権限上無理ということになりますでしょうか。

    2007年6月20日 6:52
  • >(notepad.exeなどで試しましたが、プロセスがバックグラウンドで立ち上がっているだけでした)

     

    これができているんなら、権限がどうのこうのじゃなくて、単に対象のアプリケーションが異常終了しているだけでは?テスト済みですか?

    2007年6月20日 7:11
  • 上記にも記載しておりますが、動かそうとしているアプリは単体ですと問題なく動作しました。

    ご指摘通り、連結でこけていると思われますが、これまた上記に記載した通り、以下のようなエラーによって

    エラー内容を明確にすることができません。

     

    JITデバッグに失敗しました:アクセスが拒否されました。

    JITデバッグはユーザーアカウントによって開始されました。'XXXX\ASPNET'

    ・・・

     

    2007年6月20日 7:21
  • Office Application の server side での動作は license と 動作が保障されない問題があるんですが、とりあえずそれをおいておいて。

     

    こんな方法を推奨します。

    1. VB6.0 で Word を扱う ActiveX DLL を作成
    2. 作成した ActiveX DLL を COM+ に server application として登録 (user は専用のを作成して指定)
    3. ASP.NET で 2. を参照し、application を作成
    4. Web site に配布して実行

    1 を推奨する理由は、.NET で直接 COM を扱うのが面倒だから。

    2. は別の user で安全に process を起動するため

    2007年6月20日 14:47