在调用Webservice的问题上,和朋友有个争论,各位发表一下看法, 讨论一下:
如果一个UI层的方法循环去调用db层Webservice下的一个方法
争议在于:
1、每次去实例化一个webservice后再调用那个方法
2、把Webservice做一个属性, 再调用那个方法我朋友的意思是,这样做并没有增加性能,每次都一样会重新创建connection
各位怎么看?
如果一个UI层的方法循环去调用db层Webservice下的一个方法
争议在于:
1、每次去实例化一个webservice后再调用那个方法
2、把Webservice做一个属性, 再调用那个方法我朋友的意思是,这样做并没有增加性能,每次都一样会重新创建connection
各位怎么看?
例如:WebSerivceX是为了维护一个数据库表,下面有FillTable和UpdateTable两个Web Method
那这两个方法都需要调用由DatasetDesigner生成的强类型Adapter: XTableAdapter那么在WebServiceX下面定义一个XTableAdapter = null;的空实例,再做一个属性,在get的时候去判断是否为空,来决定是否实例:如下
private XTableAdapter m_adpXTable = null;
internel XTableAdapter Adapter {
get {
if (null == this.m_adpXTable) this.m_adpXTable = new XTableAdapter();
return this.m_adpXTable;
}
}而在使用的时候:
[WebMethod]
public XTable FillTable(queryClause) {
return this.Adapter.Fill(queryClause);
}[WebMethod]
public int UpdateTable(XTable) {
return this.Adapter.Update(XTable);
}最后重载Dispose来释放m_adpXTable
if (null != m_adpXTable ) m_adpXTable .dispose();这样写法 是否会更好 主动回收
这个就是实例化了.