背景
金曜日まで、ASP.NETアプリケーションは快適に動いていました!
金曜日にWebサーバーのドメインを変更することになって、ま、そんなこんなで、月島へもんじゃを食べに・・・
もんじゃおいしゅうございました。
って、そんな細かい背景はいらんかww
ドメイン変更くらい楽勝、問題なっしん ぐ~。
と、おもっているのは、どこのどいつだーい?
あたしだよ!
月曜日朝からなぞのエラーがでて、ASP.NET Webアプリケーションが動かなくなってました・・・
さて、原因と対処方法は?(またクイズかよ?)(回答は下の方)
以下エラーメッセージ
'/WebApplication' アプリケーションでサーバー エラーが発生しました。
現在の ID (NT AUTHORITY\NETWORK SERVICE) には 'c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files' への書き込みアクセスが与えられていません。
説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。
例外の詳細: System.Web.HttpException: 現在の ID (NT AUTHORITY\NETWORK SERVICE) には 'c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files' への書き込みアクセスが与えられていません。
ソース エラー:
現在の Web 要求の実行中にハンドルされていない例外が生成されました。障害の原因および発生場所に関する情報については、下の例外スタック トレースを使って確認できます。 |
スタック トレース:
[HttpException (0x80004005): 現在の ID (NT AUTHORITY\NETWORK SERVICE) には 'c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files' への書き込みアクセスが与えられていません。]
System.Web.HttpRuntime.SetUpCodegenDirectory(CompilationSection compilationSection) +3570267
System.Web.HttpRuntime.HostingInit(HostingEnvironmentFlags hostingFlags) +218
[HttpException (0x80004005): 現在の ID (NT AUTHORITY\NETWORK SERVICE) には 'c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files' への書き込みアクセスが与えられていません。]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +3465427
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +69
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +279 |
バージョン情報: Microsoft .NET Framework バージョン:2.0.50727.1433; ASP.NET バージョン:2.0.50727.1433
ここで、「Temporary ASP.NET Files」フォルダに権限を追加しようとした貴方!
まぁ、解決するかもしれないですけど、原因が分からずに対応していませんか?大丈夫ですか?
正解は以下
ドメインが変わった影響で、IISのマッピングもなぜか崩れてしまったようで・・ま、一部なんでしょうけど。
そこで、例の呪文です。年に数回お世話になるけど、なかなか思い出せないアレ。そう
aspnet_regiis
ですね。
エラーの発生している、「c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727」に、ちょうどありますので、
コマンドプロンプトにパスが通っていない場合はそこに CD してください。
ぶなんに、
aspnet_regiis /i
を実行しましょう。以下の結果がでます。
ASP.NET (2.0.50727) のインストールを開始します。
...........................
ASP.NET (2.0.50727) のインストールが完了しました。
で、「Temporary ASP.NET Files」フォルダをみてみると、
権限が追加されました。
うっかり、「Temporary ASP.NET Files」フォルダを消してしまった場合もこの呪文でいけるっぽいですね。
libaty さんのBlog 寝ても覚めても.NET(?) より
Temporary ASP.NET Filesフォルダ消すべからず
http://cs.gogo-asp.net/blogs/libaty/archive/2006/03/08/379.aspx
、
aspnet_regiis
って、いろいろ裏でなんかしてますよ・・・・
詳しくご存じの方は、ぜひ図つきの解説をトラックバックしていただけるとww(ぼそ)
ってことで、回答&このトラブルの対応方法
復活の呪文
aspnet_regiis /i
を唱える。でした。