2016-04-20 37 views
0

私は特定のファイルを開くことができるかどうかをテストするために使用している非常に単純なコードを持っています。今まで、これは私がこのコードは完全にメモ帳のプロセスを開始しますが、ユーザーとして「のDefaultAppPool」Process.Startはasp.netで動作しません

string filename = "C:\\anu.txt"; 
Process myProcess = new Process(); 
myProcess.StartInfo.FileName = filename; 
myProcess.StartInfo.UseShellExecute = true; 
myProcess.StartInfo.RedirectStandardOutput = false; 
myProcess.Start(); 

を持っているコードです。だから、私はタスクマネージャのプロセスを見ることができますが、メモ帳のウィンドウが表示されません。私はこれを解決するためにここで何ができるのか分かりません。別のユーザーとして実行しようとしましたが、それでも "DefaultAppPool"ユーザーIDが表示されます。

編集:

これは明らかにVista以降のセキュリティ機能です。 :/これでもうこれを行うことはできません。まあ、回避策を見つける時間。

+0

これはありません。どちらの場合も質問を再度確認してください。私はプロセスが始まっていないという問題はありません。私はプロセスのデフォルトのユーザー名で始まる問題があります。 :/ – jitendragarg

+0

"特定のファイルを開くことができるかどうか"をテストする場合、なぜメモ帳ウィンドウを表示する必要がありますか? asp.netアプリケーションがサーバーにデプロイされると、何が起こるはずですか? – Alexander

+0

私はユーザ側でメールクライアントを開き、そのファイルを新しいメールオブジェクトに添付することになっています。クライアントマシンでmsgファイルを開くことが可能かどうかをテストしていました。このmsgファイルをユーザに表示して、送信前に変更できるようにします。 ここに、実際の問題へのリンクが詳細に記載されています。 http://stackoverflow.com/questions/36714879/attaching-auto-generated-pdf-to-email-in-asp-net-app とにかく、この回避策はうまくいかないので、私は離れています今新しいものを試してみてください。 – jitendragarg

答えて

-2

多くのコードを書く必要はありません。あなただけのSystem.Diagnostics名前空間に存在する

Process.Start(@"C:\Users\ankush.jain\Desktop\test.txt"); 

Process 1本の線でテキストファイルを開くことができます。

+0

あなたはその質問を全く理解していないと思います。私がその数多くの行を使うのか、ただ一つの行を使うのかは関係ありません。それは同じことをします。プロセスはIISユーザー名の下でのみ完全に開始されます。私はあなたのコードをそのまま試してみました。 S.私はどの名前空間を使うかを知っています。 ;) – jitendragarg

+0

http://stackoverflow.com/questions/4679561/system-diagnostics-process-start-not-work-from-an-iis#answer-4679686 –

+0

これは非常に古い問題です。まず、私のシステムはプロセスを開始し、ワーカープロセスは私がそれに投げるすべての種類のプロセスを開始できます。私がタスクマネージャーに行くと、私はそのプロセスをそこに見ることができます。それは、デフォルトのIISユーザーによって起動されるため、ログインしたユーザーのデスクトップからはアクセスできません。 管理サービスに関しては、これはもう機能しません。 IISはWin 7以上で管理サービスを必要としません。 :)その2番目の提案は出ています。とにかく、IISサービスはWebアプリケーションフォルダ全体とCドライブにアクセスできます。だから、そこに問題はありません。 – jitendragarg

関連する問題