OrganizationServiceProxy和OrganizationServiceContext都支持dispose方法.我是否需要在using语句中包含它们?
using (var proxy = GetOrganizationServiceProxy(Constants.OrgName))
{
using (var context = new OrganizationServiceContext(proxy))
{
// Linq Code Here
}
}
Run Code Online (Sandbox Code Playgroud)
或者将处理上下文关闭正确关闭代理,这意味着只需要这样做?
var proxy = GetOrganizationServiceProxy(Constants.OrgName)
using (var context = new OrganizationServiceContext(proxy))
{
// Linq Code Here
}
Run Code Online (Sandbox Code Playgroud)
上下文不能处理代理,因为它无法决定它是否被任何其他对象使用.如果你研究一下DisposeOrganizationServiceContext,你会看到
public void Dispose()
{
this.Dispose(true);
GC.SuppressFinalize((object) this);
}
protected virtual void Dispose(bool disposing)
{
if (!disposing)
return;
this.ClearChanges();
}
Run Code Online (Sandbox Code Playgroud)
顺便说一句.你可以结合使用语句
using (var proxy = GetOrganizationServiceProxy(Constants.OrgName))
using (var context = new OrganizationServiceContext(proxy))
{
// Linq Code Here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1899 次 |
| 最近记录: |