在线Web服务超时超过了获取异常详细信息

时间:2018-07-05 17:19:49

标签: c# sql web-services xamarin

因此,我一直试图在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服务的东西并不是很熟悉

1 个答案:

答案 0 :(得分:0)

我猜该服务正在引发异常,并且客户端无法获取有关该异常的信息。

在网络服务方面,使用try / catch / finally封装方法的内部,并记录一些简单的计时信息。记录输入方法的时间和退出方法的时间。将退出日志消息和时间加到最后,以防它引发异常。

我要做的是分别调试两者。使用Postman之类的工具,将Web请求直接发送到Web服务,并查看需要花费多长时间。这将告诉您问题是出在客户端还是服务器上。

此外,REST是一种选择而不是肥皂吗?制作JSON帖子更容易测试和调试。