私はこれをグーグルで検索することができませんでした、おそらく私が検索する正しいものを理解できないためです。私が取り組んでいるMVC3プロジェクトでは、「画像」データ列を含むテーブルがあります。このテーブルには、この列をバイト配列としてマップするNHibernateモデルを介してアクセスします。これをライブサーバー(通常のIISを使用)で実行する場合、または組み込みのVisual Studio開発サーバーを使用して実行する場合、これはパフォーマンスの問題ではありません。ただし、IIS Expressでこれを実行しようとすると、テーブルへのアクセスが(ほぼ)停止します。どうやら、サイズが約500kのバイナリ配列を持つ行にアクセスしようとすると、プロセスが完了するまでに2〜3分かかります。配列がさらに大きい場合は長くなります。
これが発生する原因となる、欠落しているIIS Express構成はありますか?
関連ビット:
- NHibernate 3.1
- Visual Studio 2010 Professional SP1
- Windows 7 Professional x64
- IIS Express 7.5
- SQL Server 2008
行われている唯一の変更は、IISExpressとcassiniで実行するためのVSプロジェクト設定です。それ以外は、これはすべて同じ開発マシンで実行されています。
アップデート
プロファイラーを実行しようとしたところ、IISExpressがVisualStudioによって起動されている場合にのみ問題が発生することがわかりました。VSの外部でIISExpressを実行すると、問題は発生しません。接続されているVSデバッガーに関係なく、この問題が発生している間、VSのCPU使用率は急上昇します。ただし、VSはまだ応答性があります。
アップデート2 これはIISExpress8でも発生します。