我有一个 Silverlight 应用程序,它每小时向 SQL 表添加 120 行。这是由 WCF 服务完成的(使用 LINQ to SQL)。运行程序 12 小时后,它会在 References.cs(自动创建)中引发异常。这是异常消息:
The HTTP request to 'http://localhost:64739/SQLService.svc' has exceeded the allotted timeout. The time allotted to this operation may have been a portion of a longer timeout.
如果我停止应用程序并在此处重新运行它,它将添加第 13 小时的数据并在 14 日引发异常。该问题可能与 SQL 表大小有关,因为当表大小接近 1MB 时,它会引发第一个超时异常。有任何想法吗?
这是捕获异常的地方:
public void EndAddTables(System.IAsyncResult result) {
object[] _args = new object[0];
base.EndInvoke("AddTables", _args, result);
}
这是 AddTables 代码:
[OperationContract]
public void AddTables(short ID, string temperature, string humidity,
string wind, ...)
{
WeatherDataClassDataContext db = new WeatherDataClassDataContext();
Weather_Info row = new Weather_Info();
row.OfficeID = ID;
row.temperature = temperature;
row.humidity = humidity;
db.Weather_Infos.InsertOnSubmit(row);
db.SubmitChanges();
db.Refresh(System.Data.Linq.RefreshMode.KeepCurrentValues, db.Weather_Infos);
}