現在、私はWinHostを一時的なホスティング環境として使用しているASP.NET 3.5/IIS7アプリケーションで作業しています。私は許可の問題であると信じているものでドラマを持っていますし、チケット発行プロセスは "あなた自身のステージ"に達しています。ここでDirectory.CreateDirectoryが共有ホスト上でUnauthorizedAccessExceptionをスローする原因
は私がやろうとしているものです:パス 「Eへ
アクセス:\ウェブ\マイアカウント\ MyFolderという\を
var dir = Server.MapPath("~/MyFolder/NewPath"); Directory.CreateDirectory(dir);
そして、ここでは、私が取得しています応答ですNewPath 'は が拒否されました。
説明 現在のWeb要求の実行中に未処理の例外 が発生しました。 エラーの詳細と のコードの詳細については、 スタックトレースを確認してください。
例外の詳細: System.UnauthorizedAccessException:パス へ アクセス 'E:\ウェブ\マイアカウント\ MyFolderという\ NEWPATHは' 拒否 です。
スタックトレースは、CreateDirectory行が失敗していることを示しています。アプリケーションはローカルで正常に動作し、アプリケーションプールが実行しているIDには "MyFolder"パスへの書き込みアクセス権があります。どちらの環境でも、信頼レベルは「フル」に設定されています。
WinHostからのガイダンスは、次のとおりです。デフォルトで
のasp.netユーザーがサイトへのフル 権限を持っています。
WindowsIndentity.GetCurrent()。Nameは、アカウント固有のIDと思われる「W02 \ aspnet_17884」を返します。私の気持ちは、このアカウントは、アプリのファイルシステムへの書き込みアクセス権を持っていないということですが、私はこの上WinHostを求められたとき、私は受け取っ:
、あなたのアプリケーション 設定に を関連しているに実行されている問題。
と
私は を登録し、その後の質問は今ある理由は明らかであるDiscountASP.NET コミュニティフォーラム
であなたの 質問を投稿されることをお勧めしたい何をスタックオーバーフローについて:
誰もがどのようなアプリレベルの設定変更を提案できますか?これはホスティングサイトのアクセス許可の問題の可能性は高いですか?ありがとう。
更新:put the question up on the WinHost forumもあります。
そのアプリケーションで偽装が有効になっていますか? – DmitryK
また、その要求のIIS Webログをチェックします。具体的には、要求ステータスコード+サブステータスコードです。あなたは401.3を手に入れていますか? – DmitryK
また、.NET Trust Levelをmediumに設定し、「適用」をクリックしてから「フル」に戻すこともできます。 – DmitryK