因此,我一直试图在Web服务上修复另一种异常,但是,此异常今天出现了,我无法修复。
所以,让我解释一下我的情况。我有一个Xamarin Android程序,进行更改后,它将倒计时10秒钟,直到将数据集发送到Web服务以更新SQL数据库。因此,它将一次更新数据库,但是,在第二次尝试发送至Web服务后,我收到错误消息:
System.Web.Services.Protocols.SoapException: <Timeout exceeded getting exception details>
以下是调用网络服务的部分:
async void startUploadCounter()
{
SQLWebService.SQLWebService DataService2 = new SQLWebService.SQLWebService();
await Task.Delay(10000);
Toast.MakeText(this, "Updating", ToastLength.Short).Show();
DataService2.updateRooms(rooms,employeeID);
isEdited = false;
}
这是Web服务代码:
[WebMethod]
public void updateRooms(DataSet rooms, int employeeID)
{
using (SqlConnection connection = new SqlConnection(cs))
{
connection.Open();
SqlDataAdapter dataAdapter = new SqlDataAdapter($"Select * from Room Where AssignedEMP = {employeeID}", connection);
SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
dataAdapter.Update(rooms);
//rooms.Clear();
// //rooms.GetChanges();
}
}
编辑:另外我应该指出,很抱歉我做的这件事看起来真的很糟糕或效率低下,但是,我对Web服务的东西并不是很熟悉
答案 0 :(得分:0)
我猜该服务正在引发异常,并且客户端无法获取有关该异常的信息。
在网络服务方面,使用try / catch / finally封装方法的内部,并记录一些简单的计时信息。记录输入方法的时间和退出方法的时间。将退出日志消息和时间加到最后,以防它引发异常。
我要做的是分别调试两者。使用Postman之类的工具,将Web请求直接发送到Web服务,并查看需要花费多长时间。这将告诉您问题是出在客户端还是服务器上。
此外,REST是一种选择而不是肥皂吗?制作JSON帖子更容易测试和调试。