【发布时间】:2014-07-03 14:32:47
【问题描述】:
我在 Windows Azure 网站上托管我的 WCF 服务。在我的程序中,我选择了 1-16 个用户,对于每个选择的用户,我联系我的 wcf 服务并使用以下格式返回数据:
try
{
...
client.Close();
}
catch (CommunicationException e)
{
...
client.Abort();
}
catch (TimeoutException e)
{
...
client.Abort();
}
catch (Exception e)
{
...
client.Abort();
throw;
}
WCF 服务正在联系 Azure SQL 数据库以获取数据,这意味着服务调用总共可能持续长达 10 秒。但是,如果我在检索数据时关闭程序并再次打开它并尝试检索数据,则连接超时,我在我的 azure 网站上收到 HTTP 服务器错误,随后关闭 2-3 分钟。
如何在关闭程序时关闭 WCF 服务连接。我应该改用“使用”语句吗?而且我是否应该尝试重构我的代码以仅与服务联系一次,而不是为每个选定的用户联系一次?
【问题讨论】:
标签: c# web-services wcf azure