判断 OrganizationServiceProxy 是否已成功连接到 CRM 的最佳方法是什么?
我在 AccountSet 上使用 GetEnumerator(),因为如果未连接,则会失败。
/* Tries to connect to CRM and return false if failure - credentials arguments */
public bool Connect(string username, string password, string uri)
{
try
{
var cred = new ClientCredentials();
cred.UserName.UserName = username;
cred.UserName.Password = password;
service = new OrganizationServiceProxy(new Uri(uri), null, cred, null);
service.EnableProxyTypes(); // Allow LINQ early bound queries
linq = new Context(service);
/* This is where I need help */
var e = linq.AccountSet.GetEnumerator(); // this fails if not connected
}
catch
{
return false;
}
return true;
}
Service 和 Linq 是私有字段。
上下文是 crmsvcutil.exe 中的 serviceContextName。
我习惯于为 Context 对象使用名称“linq”。
一定会有更好的办法。