Csharp/C#教程:C#中的Dynamics CRM SDK使用无效密码连接分享


C#中的Dynamics CRM SDK使用无效密码连接

我正在开发一个C#应用程序,用于从Dynamics CRM Online检索数据。 要validationDynamics CRM的用户名和密码,我使用的是WhoAmIRequest。 它工作正常,直到出现以下情况。

1)使用有效URL,用户名和密码连接Dynamics CRM。

2)处置组织服务对象。

3)使用有效URL,用户名和无效密码重新连接Dynamics CRM。

在这种情况下,WhoAmIRequest也成功执行了。 但它应该失败。

以下是我正在使用的代码:

private void button6_Click(object sender, EventArgs e) { CrmConnection connection; string url = "Url=https://mytest.crm.dynamics.com ;Username=mytest@mytest.onmicrosoft.com; Password=goodpassword;"; connection = CrmConnection.Parse(url); OrganizationService orgService = new OrganizationService(connection); Guid userid = ((WhoAmIResponse)orgService.Execute(new WhoAmIRequest())).UserId; if (userid == null) MessageBox.Show("Login Failed"); else MessageBox.Show("Login Success"); orgService.Dispose(); url = "Url=https://mytest.crm.dynamics.com ;Username=mytest@mytest.onmicrosoft.com; Password=badpassword;"; connection = CrmConnection.Parse(url); orgService = new OrganizationService(connection); userid = ((WhoAmIResponse)orgService.Execute(new WhoAmIRequest())).UserId; if (userid == null) MessageBox.Show("Login Failed"); else MessageBox.Show("Login Success"); orgService.Dispose(); url = "Url=https://mytest.crm.dynamics.com ;Username=mytest@mytest.onmicrosoft.com; Password=goodpassowrd;"; connection = CrmConnection.Parse(url); orgService = new OrganizationService(connection); userid = ((WhoAmIResponse)orgService.Execute(new WhoAmIRequest())).UserId; if (userid == null) MessageBox.Show("Login Failed"); else MessageBox.Show("Login Success"); orgService.Dispose(); } 

上面代码的输出显示3个消息框为

登录成功

登录成功

登录成功

但它应该显示为

登录成功

登录失败

登录成功

我也尝试过Nicknow在需要validationCRM凭证问题时提出的答案,但没有任何帮助

任何帮助将受到高度赞赏。

谢谢并问候Venkatesan

问题在于您的支票:

if (userid == null)

UserId是Guid,Guid是结构,struct是值类型,值类型永远不会为null ,因此check始终返回false。

有关更多信息,请参见此处编译器不应允许Guid == null

我建议使用以下检查:

if (userid == Guid.Empty)

您需要更改此行,因为这是一个静态方法:

 connection = CrmConnection.Parse(url); 

对于这样的事情:

上述就是C#学习教程:C#中的Dynamics CRM SDK使用无效密码连接分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 connection = new CrmConnection(); connection.ServiceUri = new Uri("https://mytest.crm.dynamics.com"); var clientCredentials = new ClientCredentials(); clientCredentials.UserName.UserName = "mytest@mytest.onmicrosoft.com"; clientCredentials.UserName.Password = "goodpassword"; connection.ClientCredentials = clientCredentials; 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1030500.html

(0)
上一篇 2022年1月13日
下一篇 2022年1月13日

精彩推荐