MVC3、.NET Framework 4.0およびEntity Frameworkを使用してASP.NET Webサイトを開発しています。アプリケーションを実行し、SQL Server 2005データベースを単純に選択すると、次のエラーが発生します。.NET 4.0 Entity Frameworkのタイムアウトが終了しました
"A System.Data.SqlClient.SqlExceptionがスローされました:"タイムアウトが切れています。操作が完了する前にタイムアウト時間が経過しているか、サーバーが応答していません」。
これは問題です。管理スタジオからログインして同じクエリを実行しようとしましたが、 .NETフレームワーク4.0とエンティティフレームワークはまったく同じクエリを実行し、必要な情報を返しました。私はEntityフレームワークを使用してADO.NETクラス(SqlConnectionとSqlCommand)に切り替え、SqlCommandインスタンスからselectを実行すると、同じエラーです
エンティティフレームワークを使用してモデルを作成したとき、ウィザードからデータベースに接続でき、うまくいきました。すべてのクラスを問題なく作成できました。
解決策は、クエリが実際には小さい(20レコードトップ)ため、タイムアウトを増やすことではないと言っています。同じ技術を使用して同じアプリケーションを使用しても、コード私は下に置きます。
この
は私に問題を与えてコードです:searchResults.ToListを実行しているときに例外がスローされMLIBEntities dbMLIB = new MLIBEntities();
var searchResults = (from s in dbMLIB.Sets
where s.setmap1.StartsWith(accountNumber)
select s);
return searchResults.ToList();
();
これはエンティティクラスで使用されている接続文字列です。私は、構文エラーでそれを修正したので、接続文字列を使用していると確信しています。
<connectionStrings>
<add name="MLIBEntities" connectionString="metadata=res://*/Models.MlibDBModel.csdl|res://*/Models.MlibDBModel.ssdl|res://*/Models.MlibDBModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=HERPADERP;Initial Catalog=MLIB;Integrated Security=True;MultipleActiveResultSets=True;Connect Timeout=200"" providerName="System.Data.EntityClient" />
</connectionStrings>
私は、これはどこかMVC Webアプリケーションでの設定の問題でなければなりません推測しているか、私は、Web.configファイルに何かが欠けています。あなたにこの問題があったのですか?私はそれが本当に奇妙であることを知っている。
ありがとうございました。私は本当にアイデアがありません。
最後の1つです。私は、SQLプロファイラを実行し、クエリはデータベースサーバーに決してしないようだ。なぜこれが起こっているのだろうか?
実際に200秒後にタイムアウトしますか? – Will
本当に、ASP.NET MVC 3との関係はありません。 –
SQL Serverはローカルまたはネットワーク上にありますか? –