2011-03-03 5 views
1

キャッシングアプリケーションブロックのCacheFactoryを呼び出すと、IISがクラッシュするようなDev環境に問題があります。私はそれを実行しようとするたびにIISがクラッシュする非常に単純なWebアプリケーションを作成しましたが、アプリケーションはVisual Studio.NET Webサーバーの下で正常に動作します。キャッシングアプリケーションブロックがクラッシュするIIS

次のコードは、IISの下で実行しているときにアプリケーションがクラッシュする原因です:

protected void Page_Load(object sender, EventArgs e) 
{ 
    try 
    { 
     ICacheManager cm = CacheFactory.GetCacheManager("foo"); 
     Response.Write(cm.GetHashCode()); 
    } 
    catch(Exception ex) 
    { 
     Response.Write(Server.HtmlEncode(ex.ToString())); 
    } 
} 

私は一種のここにストローで把握んだけど、誰もが同様の行動を見ていますか?しばらくの間、私は "保護されたメモリを読み書きしようとしましたが、これはしばしば他のメモリが壊れていることを示しています。"エラーが発生しましたが、今はクラッシュしています。上のコード例では、w3wp.exeプロセスが失敗するだけでIISの下で実行するとcatchに到達することはありません。

提供しているプロセス、アプリケーションプールのWindows プロセスアクティブ化サービスで致命的な 通信エラーを被った「WebApplication1と」 :これが起こるとき、私は、イベントログに次のエントリを取得します。 プロセスIDは '1944'でした。データフィールド にはエラー番号が含まれています。

すでにエンタープライズライブラリを再インストールし、aspnet_regiis.exeを再利用しようとしました。また、Webサーバーの役割を削除して再インストールしようとしましたが、それも機能しませんでした。

私のdevの環境に関するいくつかの注意事項:

  • エンタープライズライブラリ5.0
  • を使用したVirtualBox 4.0.4
  • の下でのWindows Server 2008 R2 x64のウェブ版のVS.NET 2010 SP1のベータ版を実行している非常に最近までこのdevサーバ上のすべてが正常に動作していました。この時点で
  • は、データ実行防止は、私はこの問題、.NET 4.0 Frameworkの問題に絞られてきた

EDIT

Bcdedit.exeを使用してオフになっています。 3.5フレームワークに対してWebアプリケーションをビルドすると、期待通りに動作しますが、4.0 Frameworkに対してビルドすると、Webアプリケーションを実行するとIISがクラッシュします。

+1

あなたは、Visual Studioの外のサイトを公開し、それまでのIISにフックしようとしたことがありますか?その後、VSに関係なく、クリーンなWebアプリケーションをテストすることができます。ちょうどあなたのアプリをどうにかして妨害している場合に備えて - あなたがベータVSを使っているので、それは私にとって最初に飛び出すものです。 –

+0

これは非常に奇妙です。私はいくつかのタイプの実際のハードウェア障害に頼るだろう。他の仮想イメージに障害の兆候はありますか? – NotMe

+0

別の考えでは、Windows Serverのまったく新しいインスタンスをスピンアップしてテストコードを実行できますか? – NotMe

答えて

4

他のインスタンスが動作する場合は、このフレームワークで4.0フレームワークを修復してみてください。

参照: https://superuser.com/questions/185159/how-do-i-repair-the-net-framework-on-windows-7

http://blogs.msdn.com/b/astebner/archive/2010/05/12/10011664.aspx

+0

うん、.NETのクリーンアップツールがうまくいきました!リンクありがとう。それを実行する前に、私はw3svcサービスを停止し、aspnet_regiis.exe -uを実行してIISからASP.NETを削除しました。その後、クリーンアップツールを実行し、.NET 4.0を削除するように指示しました。削除ツールは完了するまでに約5分かかり、VM終了後自動的に再起動しました。私は4.0 Frameworkを再インストールし、aspnet_regiis.exe -iを実行しました。その後、私はビジネスに戻った。再度、感謝します。 – rsbarro

+0

@rsbarro:恐ろしい!あなたのために働いた喜び。 – NotMe

関連する問題