4

나는 ServiceStack OrmLite SQLSERVER의 v3.9.71을 사용하여 다음과 같은 연결 문자열이 있어요 :OrmLite ServiceStack에서 명령 시간 초과를 늘리려면 어떻게해야합니까?

<add key="ConnStr" value="Data Source=my-db;Initial Catalog=Users;Integrated Security=SSPI;Connection Timeout=666"/> 

을하고 돌아와 2 ~ 3 분 정도 소요됩니다 쿼리를 실행하려면 다음 사용하고 있습니다 :

using (Db) 
{ 
    var result = new ResultDto(); 

    Parallel.Invoke(
     () => { result.StatOne = Db.Dictionary<DateTime, int>(query1); }, 
     () => { result.StatTwo = Db.Dictionary<DateTime, int>(query2); } 
    ); 

    return result; 
} 

Db 개체에 중단 점을 넣을 때 연결 시간이 666 인 것을 볼 수 있지만 위의 명령을 실행할 때마다 시간 제한을 설정/늘리는 방법을 알 수 없으므로 30 초 후에 시간이 초과됩니다. 디폴트의 ​​타임 아웃

아이디어가 있으십니까?

+0

'Command Timeout'은 'Connection Timeout'이 아닙니다. – bummi

+0

@bummi, 감사합니다. 이제 질문을 업데이트했습니다. – MaYaN

+0

나는 OrmLite에 익숙하지 않지만 아마도 유용 할 수 있습니까? [OrmLite 명령 제한 시간] (http://efreedom.net/Question/1-15353719/ServiceStack-OrmLite-Command-Timeout) – bummi

답변

13

시간 초과가 하나 하나 한 번 시작 프로그램에 statically configured을 할 수있는 글로벌 설정으로 OrmLiteConfig.CommandTimeout로 OrmLite으로 설정할 수 있습니다

OrmLiteConfig.CommandTimeout = 666; 

또는 대신 CommandTimeout이가있는 특정 DB 연결에 범위 설정할 수 있습니다

using (var db = DbFactory.Open()) 
{ 
    db.SetCommandTimeout(60); 
    db.Select(...); 
} 
+0

tnx가 글로벌 설정입니까? 이걸 내가 어디에 세우라고 제안하는거야? 컨테이너를 세울 때? 어떤 방식 으로든 전역 쿼리와 달리 쿼리마다 설정할 수 있습니까? – MaYaN

+1

@MaYaN 특정 요청에 대해 답변을 설정하는 방법을 보여주기 위해 답변을 업데이트했습니다. – mythz

+0

언제나 그렇듯이 빠른 답변을 보내 주셔서 감사합니다. – MaYaN

관련 문제