キャッシングアプリケーションブロックの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がクラッシュします。
あなたは、Visual Studioの外のサイトを公開し、それまでのIISにフックしようとしたことがありますか?その後、VSに関係なく、クリーンなWebアプリケーションをテストすることができます。ちょうどあなたのアプリをどうにかして妨害している場合に備えて - あなたがベータVSを使っているので、それは私にとって最初に飛び出すものです。 –
これは非常に奇妙です。私はいくつかのタイプの実際のハードウェア障害に頼るだろう。他の仮想イメージに障害の兆候はありますか? – NotMe
別の考えでは、Windows Serverのまったく新しいインスタンスをスピンアップしてテストコードを実行できますか? – NotMe