背景
 金曜日まで、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
を唱える。でした。