0

FAX の送信に使用している C# で記述されたコンソール プログラムがあります。Visual Studio でプログラムをステップ実行すると、正常に動作します。Windows エクスプローラーでプログラムをダブルクリックすると、正常に動作します。プログラムを実行するために Windows のスケジュールされたタスクをセットアップすると、イベント ログでこれが失敗します。

EventType clr20r3, P1 consolefaxtest.exe, P2 1.0.0.0, 
P3 48bb146b, P4 consolefaxtest, P5 1.0.0.0, P6 48bb146b, 
P7 1, P8 80, P9 system.io.filenotfoundexception, 
P10 NIL.

FAX プログラムを実行するバッチ ファイルを作成しましたが、このメッセージで失敗します。

Unhandled Exception: System.IO.FileNotFoundException: Operation failed.
at FAXCOMEXLib.FaxDocumentClass.ConnectedSubmit(FaxServer pFaxServer)

誰かが私にこの動作を説明できますか?

4

6 に答える 6

5

うまく説明できませんが、いくつかのアイデアがあります。

ほとんどの場合、プログラムがテストで問題なく動作し、スケジュール時に問題が発生する場合は、セキュリティの問題です。あなたのプログラムはどのユーザーのコンテキストでスケジュールされていますか? そのユーザーに十分なアクセス権が付与されていない可能性があります。

あなたのプログラムがネットワークドライブにアクセスしようとしているリソースは、スケジュールされたタスクを実行しているユーザーが単に取得していないものですか?

于 2008-08-31T22:40:42.273 に答える
0

Vistaで実行している場合は、標高が邪魔になっていることがあります。制限されたユーザーとしてではなく、適切な管理者としてタスクを実行する必要がある場合があります。

于 2008-08-31T23:27:33.003 に答える
0

タスクに正しい作業ディレクトリを設定したことを確認してください

于 2008-08-31T22:38:19.660 に答える
0

スケジュールされたタスクは、開発しているのと同じコンピューターで実行されていますか、それとも専用の olp サーバーで実行されていますか? 環境を変えるとパスが変わることはよくあることですが、送信しようとしているドキュメントへのパスは同じですか?

于 2008-08-31T22:39:49.220 に答える
0

私はMartinNHに同意します。

これらの問題の多くは、Visual Studio で管理者としてログインしている間に開発を行った (そのため、プログラムにはすべての実行権限が適切に設定されている) にもかかわらず、権限の低いユーザーとしてデプロイしたことが原因です。

タスク スケジューラ ユーザーの権限を高く設定してみてください。

于 2008-08-31T22:49:28.120 に答える
0

スケジュール タスクを実行すると、ユーザーの下で実行できます。スケジュール タスクを実行しているユーザーが、FAX リソースに対して自分と同じ権限を持っていることを確認します。これが、Windows エクスプローラーでダブルクリックすると実行できる理由です。

于 2008-09-01T11:48:05.563 に答える