我有一个 WCF 服务 API 的包装器
Class APIWrapper
{
private WCFClient _client;
//constructor opens a client connection
public APIWrapper()
{
_client = new WCFClient();
_client.open();
}
public API1()
{
_client.doSomething1();
}
public API2()
{
_client.doSomething2();
}
}
我想问一下:
Q1 会发生超时异常吗?如果这个包装类实例存在太久?(默认情况下WCF连接是否保持活动?没有在config中设置该属性)例如,在构造一个包装类之后,它的API1或API2在10分钟后被调用,这比这个WCF连接的超时值要长。
Q2 我是否需要明确关闭连接,如果需要,我应该像下面这样在包装类的析构函数中这样做吗?
~APIWrapper
{
if(_client !=null)
try{
_client.close(); }
catch(Exception e){
_client.Abort(); }
}