2011-01-28 44 views
0

我有一个调用webmethod的CLR存储过程。 webmethod调用是一个有点长时间运行(约3分钟完成)。 CLR sp根本不调用Sql服务器,但它超时。我怎样才能调整时间。 代码如下:sql clr timeout

[SqlProcedure] 
    public static int RunSessionForTrid(string sessionName, string trid, out SqlString msg) 
    { 
     string sxml = GetSessionForTrid(sessionName, trid); 
     using (BaaNServices b = new BaaNServices()) 
     { 
      try 
      { 
       msg = b.BaanSession(sxml); 
       SqlContext.Pipe.Send((string)msg); 
       return 0; 
      } 
      catch (Exception ex) 
      { 
       msg = ex.Message; 
       SqlContext.Pipe.Send(ex.Message); 
       //throw ex; 
       return -1; 
      } 
     } 
    } 
    #endregion 
+1

ServerProperties-> Connections->远程查询超时 – 2011-01-28 12:49:52

回答

0

您也可以运行异步方法。 CLR sp会立即结束,并且不能返回结果,但不会有任何超时问题。

处理Web参考应该在异步回调中完成。