如何避免Web服务超时

时间:2013-05-10 12:33:20

标签: c# linq web-services asmx

我有一个.asmx网络服务,将由第三方客户端调用。

Web服务公开一个类似于以下内容的方法:

int SaveMessages(int a,int b,int c, SomeArray[] somearray)

我需要将所有上述参数保存到数据库中。

但是在保存时我需要在保存到DB之前转换实体SomeArray []中的特定字段,为此我需要检查字段的值,然后从另一个表中获取相应的值,这将具有超过100,000条记录。在prod我害怕服务超时,是否有任何方法使这一步快速更改字段,以便它不会超时

我编写了一个LINQ查询来创建要保存的实体:

ar xyz = from x in somearray
          select new 
           {
              a= a,
              b=b,
              c=c,
              d= x.p,
              e = GetAlternateValue(x.q) // this will search a table with more than 100,000 records
           }

1 个答案:

答案 0 :(得分:1)

看起来将为数组中的每个项调用GetAlternateValue。您可以考虑将完整的阵列发送到数据库,然后在一次调用中进行过滤。