0

IIS 7 で ASP.NET MVC 3 アプリケーションの動作が正しくありません。コードでスタック オーバーフロー状態が発生し、System.StackOveflowException が正しくスローされずに一般的なアプリケーション プールがクラッシュしました。そのため、問題のある関数の実行を開始すると、w3wp.exe がネイティブ コード例外でダウンします

HtmlHelper 拡張機能のコードは次のとおりです (現在 - 修正済み)。

public static string Avatar( this UrlHelper helper, string fileName)
    {
        return helper.UserAvatar(fileName);
    }

public static string UserAvatar( this UrlHelper helper, string fileName)
    {
        if (string.IsNullOrEmpty(fileName))
            return EmptyPhotoImage(helper);

        var photoPath = System.Web.Hosting.HostingEnvironment.MapPath(string.Format("~/Content/avatars/{0}", fileName));
        if (!File.Exists(photoPath))
            return EmptyPhotoImage(helper);

        return Avatar(helper, fileName);

    }

イベント ログ レコードは次のとおりです。

Faulting application name: w3wp.exe, version: 7.5.7601.17514, time stamp: 0x4ce7afa2
Faulting module name: ntdll.dll, version: 6.1.7601.17725, time stamp: 0x4ec4aa8e
Exception code: 0xc00000fd
Fault offset: 0x0000000000055d7f
Faulting process id: 0x1a6c
Faulting application start time: 0x01ce6c67c7179807
Faulting application path: c:\windows\system32\inetsrv\w3wp.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Report Id: 0dd50093-d85b-11e2-9ee7-50e549e13906

もう一つの方:

Fault bucket , type 0
Event Name: APPCRASH
Response: Not available
Cab Id: 0

Problem signature:
P1: w3wp.exe
P2: 7.5.7601.17514
P3: 4ce7afa2
P4: ntdll.dll
P5: 6.1.7601.17725
P6: 4ec4aa8e
P7: c00000fd
P8: 0000000000055d7f
P9: 
P10: 

私の質問: StackOverflowException なしでプールがクラッシュするのはなぜですか?

4

1 に答える 1