2017年7月8日土曜日

Windows 10 IIS+ASP.NETにて行 1: <%@ Application Codebehind="Global.asax.cs" Inherits="GomiWebApp.MvcApplication" Language="C#" %>が発生する。

IISがまともに使えなくなて数週間が過ぎ、いよいよ困るということで修理ということで対応を進めた。珍しく半日以上の修理時間がかかったので、公開する。

1)エラー
1.Global.asaxが正しく読み込めない

'/gomi' アプリケーションでサーバー エラーが発生しました。

パーサー エラー

説明: この要求の処理に必要なリソースの解析中にエラーが発生しました。以下の解析エラーの詳細を確認し、ソース ファイルに変更を加えてください。

パーサー エラー メッセージ: 型 'GomiWebApp.MvcApplication' を読み込めませんでした。

ソース エラー:


行 1:  <%@ Application Codebehind="Global.asax.cs" Inherits="GomiWebApp.MvcApplication" Language="C#" %>

ソース ファイル: /gomi/global.asax    行: 1


バージョン情報: Microsoft .NET Framework バージョン:4.0.30319; ASP.NET バージョン:4.7.2046.0

2.セキュリティ不足

'/GomiWebAppToIIS2' アプリケーションでサーバー エラーが発生しました。

アクセスが拒否されました。

説明: この要求の処理に必要なリソースにアクセスしようとしてエラーが発生しました。要求された URL へのアクセスがサーバーで構成されていない可能性があります。

エラー メッセージ 401.2: 許可されていません: サーバー構成によりログオンに失敗しました。指定された資格情報に基づいてこのディレクトリまたはページを表示するためのアクセス許可があること、および認証方法が Web サーバーで有効になっていることを確認してください。詳細については、Web サーバーの管理者に問い合わせてください。


バージョン情報: Microsoft .NET Framework バージョン:4.0.30319; ASP.NET バージョン:4.7.2046.0

2.Global.asaxとGlobal.asax.csを削除したLinqが不足していると言われる


3.調査・対処療法


  1. IISの再インストール>効果なし
  2. Visual Studio 2015/2017の修復>効果なし
  3. 現象の発生する最小限のアプリ
    1. .NETを使わなかければredirectを返す。index.htmlなど
  4. セキュリティ問題かと思いAccessChkやAccessEnumを使って調査>問題なし
  5. 匿名アクセスで動作しているので、必要なコンポーネント不足を調査>問題なし
  6. 匿名ユーザの権限IUSRの権限周りをチェック(ファイルアクセス)>問題なし
  7. アプリケーションプール周りのチェック(統合、.NET4)>問題なし
  8. applicatoinHost.config>問題なし
    1. C:\Windows\System32\inetsrv\config
  9. IISのキャッシュ>問題なし
    1. C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files
  10. もちろん、Global.asaxとGlobal.asax.csのコーディングは>問題なし
  11. .NETも修復も実施>問題なし
  12. 関連付けのレジストリ系もチェックして>問題なし
  13. IIS Expressでの動作>動作する!
やばい、わからない。OS再インストールか?

と思ったけど1点、確認が抜けていました。
.NETのconfigをチェックし漏れていました。

確認すると↓のファイルが2017/6/24にUpdateされており、1KBになったいた。orz
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config


修理は、
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config.default
をコピーして
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config
を復活させました。

なんというムダな時間。

also, 6/24は土曜日で出社してなんかディープなことをやっている...

0 件のコメント:

コメントを投稿