Я хочу, чтобы соединение с базой данных с моим SQL Server не выполнялось быстро. Как уменьшить таймаут? Я попытался добавить Connection Timeout=1
в строку подключения, однако это, похоже, не имеет значения.Как уменьшить таймаут соединения с Entity Framework?
С Connection Timeout=500
требуется около 8 минут 30 секунд до перерыва. Это ожидается. С Connection Timeout=1
, это занимает около 40 секунд до тайм-аута, который намного дольше, чем ожидалось.
Я нашел EntityConnection.ConnectionTimeout
недвижимость, но только для чтения. Есть ли что-нибудь еще, что я могу сделать, чтобы уменьшить этот тайм-аут? Это проблема с Entity?
UPDATE: Вот моя строка подключения. По-прежнему требуется ~ 40 секунд до таймаута.
<add name="KofaxAdminToolsEntities" connectionString="metadata=res://*/DB.Model.KofaxAdminTools.csdl|res://*/DB.Model.KofaxAdminTools.ssdl|res://*/DB.Model.KofaxAdminTools.msl;provider=System.Data.SqlClient;provider connection string="data source=MY_DATASOURCE;initial catalog=MY_CATALOG;persist security info=True;user id=MY_USER;password=MY_PASSWORD;MultipleActiveResultSets=True;App=EntityFramework;Connection Timeout=1"" providerName="System.Data.EntityClient" />
UPDATE 2: Так я обнаружил, что тайм-аут был TCP тайм-аут, не SQL подключения таймаут. Если бы моя машина смогла добраться до хоста, решение @marc_s работало бы, однако, так как я не могу добраться до этого хоста, тайм-аут tcp вступает в игру. Кто-нибудь знает, как уменьшить тайм-аут tcp для SqlConnection
?
Вы можете указать его в строке соединения –
Не могли бы вы разместить строку соединения? – IronMan84
Ваше обновление 2 верное. На моем локальном dev у меня установлен псевдоним (используя TCP). Тайм-аут строки соединения работает, но занимает больше времени, чем все, что вы установили в строке подключения, когда я нажимаю на сервер с помощью псевдонима. Если я изменю имя источника данных на фактическое имя (а не на псевдоним), то время ожидания соединения = 1 работает так, как ожидалось. Спасибо. –