2

最后,我已经完成了以我想要的方式完全按照我想要的方式创建的附加组件。只剩下一个问题。目前,该软件进入组织并使用静态硬编码到程序中的凭证。

我有一种预感,我的一些客户可能会将他们的组织命名为“ Hazaa Inc. #1-5 ”以外的其他名称,他们可能会被称为“ CRMK.local\Konrad ”以外的其他名称,他们甚至有可能选择不同的名称密码比我(虽然“abc123”显然相当普遍)。

那么,问题来了——如何使我的解决方案通用?

我相信只要我正确输入下面的代码,我就完成了。

using (OrganizationServiceProxy proxy 
  = new OrganizationServiceProxy(
    organizationUri, 
    homeRealmUri, 
    credentials, 
    deviceCredentials))

我从 CRM Dynamics 的“设置”中手动复制的当前登录字符串,但在这里还不够。我需要以动态编程方式获取它。此外,即使我知道组织的名称,我也需要确定它是 CRM 4.0 还是 CRM 2011,如果我们在谈论在线/假设用户名和密码是什么等。

简单地要求用户提供该信息是更好的解决方案,还是建议自动神奇地这样做(就用户体验而言)?这是我第一次,所以大多数东西都让人感到恐惧和困惑。我看过一些代码示例,但这让我很快又回到了恐惧和困惑中。

编辑:

我已遵循此代码,但我根本不明白。例如ServerConnection,我什至不知道在哪里可以找到。我尝试在 SDK 中添加对不同XrmCrm包的引用,但这比实际开发更像是一种试验和恐怖。感觉就像我错过了一些(相当)明显的东西。

4

1 回答 1

0

如有疑问,请询问用户而不是试图猜测:如果您的假设是错误的,您可能会不情愿地破坏某些东西。

还有一些想法:

  • Online vs. On-Premise 有可能会破坏功能的限制。如果您需要同时兼顾两者,请专注于在线。换句话说,如果它在线工作,它就可以在本地工作,但如果它在内部工作,它可能无法在线工作。
  • 与 4.0 相比, CRM 2011 提供了许多创新,代码确实应该是分支的,因此您在一个项目中坚持旧样式并在另一个项目中利用所有新功能。仅解决方案管理就值得完全放弃 4.0 支持。
于 2012-09-14T13:29:20.823 回答