我正在使用System.Data.Services.Client.DataServiceContext
对我的服务器进行操作,在我的机器上一切正常,但是在我的某些客户端机器上,(并非总是)我得到了
无法连接到远程服务器
对我来说很奇怪的一点是,在执行某些操作之前,我正在检查ping(InternetAvailability.testInternetCon()
所做的事情)。当我收到错误消息时,都将其记录在服务器和日志文件中,因此,如果即时通讯无法连接到远程服务器,该如何向服务器报告? (我在同一日期和时间在日志文件中看到相同的错误,这意味着向服务器功能工作人员报告)
这里有我的功能
private void doUpdateFromCVFeed_Tick(object sender, EventArgs e)
{
System.Diagnostics.Trace.WriteLine("doUpdateFromCVFeed_Tick");
if (!isPlanningRunning && !isContantRunning)
{
CVFeedMgmt.Equipment equipLastParam = null;
try
{
if (InternetAvailability.testInternetCon())
{
string equipCode = activeData._equipCode.ToString();
equipLastParam = activeData._container.Equipments.Where(x => x.EquipmentCode == equipCode).FirstOrDefault();
if (equipLastParam != null)
{
//do stuff
}
}
}
catch (Exception ex)
{
//this logs the error both on my server and in a log file
ErrorLoger.logError(activeData._equipCode.ToString(), "get planning from manager software", ex.Message, activeData.ErrorTypes.error, ex.StackTrace, ErrorLoger.parseInnerMessage(ex.InnerException), equipLastParam);
}
}
}
这是我的stackTrace
在System.Data.Services.Client.HttpWebRequestMessage.GetResponse() 在System.Data.Services.Client.DataServiceContext.GetResponseHelper(ODataRequestMessageWrapper请求,IAsyncResult asyncResult,布尔handleWebException) 在System.Data.Services.Client.QueryResult.ExecuteQuery() 在System.Data.Services.Client.DataServiceRequest.Execute [TElement](DataServiceContext上下文,QueryComponents queryComponents)处 在System.Data.Services.Client.DataServiceQuery
中的CVFeedMgmt.Form1.doUpdateFromCVFeed_Tick(对象发送方,EventArgs e)1.Execute() at System.Data.Services.Client.DataServiceQuery
1.GetEnumerator() 在System.Linq.Enumerable.FirstOrDefault [TSource](IEnumerable1 source) at System.Data.Services.Client.DataServiceQueryProvider.ReturnSingleton[TElement](Expression expression) at System.Data.Services.Client.DataServiceQueryProvider.Execute[TResult](Expression expression) at System.Linq.Queryable.FirstOrDefault[TSource](IQueryable
1个源)处 在w:\ C-Vision \ CVFeedMgmt \ CVFeedMgmt \ Form1.cs:line 543