質問: ローカルIISにデプロイしたWebアプリケーションから、 ローカルフォルダ内に存在するファイルを下記コードで開こうと思っております。 System.Diagnostics.Process.Start("ファイルパス") しかし、上記コードを実施してもファイルは開かれませんでした。 コード実施時は数十秒フリーズするので ファイルを開こうとはしているのかとは思いますが、ファイルは開かれず、 例外も発生せず、次の行の処理に移ってしまいます。 Visual Studio上でDebugモードでデバッグすると 正しくファイルは開かれますが、ローカルIIS上でデバッグもしくは ローカルIISにデプロイして実施するとファイルは開かれません。 ファイルを開くにはどのようにしたらよいでしょうか? 開く対象のファイルやフォルダには 下記ユーザーでのアクセス権は設定しております。 ASP.NET v4 DefaultAppPool IIS_IUSRS NETWORK SERVICE 環境は以下の通りです。 ・Windows 7 ・IIS 7.5 ・ASP.NET MVC (言語はC#) ・Visual Studio 2013 ・アプリケーションプール: ASP.NET v4.0(.NET Framework v4.0.30319) マネージパイプラインモード → 統合 追記: 上記コードが実行されるとプロセスが生成されることまでは タスクマネージャー上で確認できました。 プロセスが生成されていますがファイルが表示されない、といった事象です。
回答: > > Visual Studio上でDebugモードでデバッグすると > > 正しくファイルは開かれますが、ローカルIIS上でデバッグもしくは > > ローカルIISにデプロイして実施するとファイルは開かれません。 > > > これは SessionIDが原因だと思います。 タスクマネージャで確認して頂けるとわかると思いますが、 VS上から呼ばれた アプリケーションは SessionID=1になっていると思いますが、 ローカルIIS上で呼ばれたアプリケーションは SessionID=0になっているはずです。 ※ブラウザは、SessionID=1になっていると思います。 SessionID=0 は Session=0のみアクセスはできるはずです。 Session0.aspx) 結果、プロセスは立ち上がりますが、ユーザからは不可視状態になると思われます。