我正在为将连接到Microsoft Dynamics的客户开发一个Web门户。我不想让Dynamics CRM直接面向面向Internet的部署(IFD),所以我想使用一个单独的数据库,使Web界面与之互动,然后使用Web服务在Web门户数据库和Dynamics之间移动数据CRM。 我只是在想这是否是继续进行的最佳方式,以及是否有任何好的代码示例等,我可以看看实现它的想法? 我看到微软有一个客户门户网站,但它看起来需要(粗略一瞥)一个IFD部署 - 这是我不想要的。为Microsoft Dynamics CRM编程Web Portal
3
A
回答
6
首先,创建ASP.NET项目(或WebForms的MVC 3)后,添加下列引用:
- Microsoft.crm.sdk.proxy。
- Microsoft.xrm.sdk。
- System.Runtime。序列化。
- System.ServiceModel。
在你的后台代码创建一个类,然后添加以下代码:
private IOrganizationService GetCrmService(string userName, string password, string domain, Uri serviceUri)
{
OrganizationServiceProxy _serviceProxy;
ClientCredentials credentials = new ClientCredentials();
credentials.Windows.ClientCredential = new System.Net.NetworkCredential(userName, password, domain);
//credentials.UserName.UserName = userName; // uncomment in case you want to impersonate
//credentials.UserName.Password = password;
ClientCredentials deviceCredentials = new ClientCredentials();
using (_serviceProxy = new OrganizationServiceProxy(serviceUri,
null,
credentials,
deviceCredentials))
{
_serviceProxy.ServiceConfiguration.CurrentServiceEndpoint.Behaviors.Add(new ProxyTypesBehavior());
return (IOrganizationService)_serviceProxy;
}
}
如果要检索多个记录:
string fetch = @"My Fetch goes here";
EntityCollection records = getCrmService().RetrieveMultiple(new FetchExpression(fetch));
我强烈建议下载SDK或检查this 你会发现许多样本和演练,这将帮助你建立良好的门户网站。
1
我觉得这是一个很好的策略,因为:
- 它可以让你以异步方式把网站到CRM上的数据输入。这种解耦确保了CRM和网站都不会成为彼此的瓶颈。
- 只有中间服务层是面向互联网的,所以如果这个服务层受到威胁,您将可以控制哪些CRM信息会被披露/打开以进行修改。
你以后的建筑让人想起的CRM异步服务的工作方式(异步插件和工作流程,以这种方式工作):
- 作业被放在一个队列(表) CRM DB。
- 计划服务每x秒唤醒一次并从队列表中提取最新的y个记录。
- 该服务执行每个作业并将结果(成功,错误消息日志)写回队列表的记录。
因此,可能最难的事情是编写一个不会抛出异常(但总是消化它)并将结果正确记录回数据库的良好定期服务。
要了解更多有关Dynamics CRM中的“异步服务架构”,指的是以下几点:http://msdn.microsoft.com/en-us/library/gg334554.aspx
1
- 它看起来像一个不错的办法。
- 它将改善门户和CRM的性能。
- 门户网站显示的数据几乎是实时的。即它不是实时的。
- 在整个开发过程中,您最好始终检查是否没有太多异步处理来保持CRM服务器始终忙碌。
- 我不认为,加速器/门户需要CRM是一个IFD实例,我猜想只有门户部分需要被Internate面对(当然,使其可用于此目的!)
- Anwar is对于这样的研究来说,SDK是一个很好的工具。
0
客户门户不需要IFD部署。如果您不喜欢客户门户网站,则始终可以使用SDK Extension中包含的SDK Extension for Portal开发(microsoft.xrm.client.dll & microsoft.xrm.portal.dll和portalbase解决方案)。
关于如何使用SDK Portal Extenstion构建门户网站有一个很好的资源。
相关问题
- 1. Microsoft Dynamics CRM API
- 2. Microsoft Dynamics Crm 4.0中的Partylist
- 3. Microsoft Dynamics CRM集成SharePoint
- 4. Microsoft Dynamics CRM OAuth集成
- 5. System.Security.SecurityException在Microsoft Dynamics CRM 2013
- 6. Microsoft Dynamics - Web API
- 7. 上传网络资源到Microsoft Dynamics CRM编程与Node.js的
- 8. Web应用程序将被集成到Microsoft动态CRM CRM
- 9. Microsoft Dynamics CRM 2011动态站点地图
- 10. Microsoft Dynamics CRM 4.0:Powershell cmdlet是否可用?
- 11. 通过在Microsoft Dynamics使用插件CRM
- 12. Microsoft Dynamics CRM - 密码哈希算法
- 13. Android Microsoft Dynamics CRM adal4j登录问题
- 14. Microsoft Dynamics CRM 2011电子邮件导出
- 15. 检索广告系列Microsoft Dynamics CRM 3.0
- 16. 您对Microsoft Dynamics CRM的体验如何?
- 17. 在FormXml中缺少NavBarItems - Microsoft Dynamics CRM
- 18. log4net与Microsoft Dynamics CRM 3.0标注
- 19. 在线Microsoft Dynamics CRM - 续订令牌
- 20. 的Microsoft Dynamics CRM 2015年SDK安装
- 21. AD FS和Microsoft Dynamics CRM 2016 IFD安装
- 22. 为什么在调用RetrieveMultiple Web服务时Microsoft Dynamics CRM 4.0偶尔会失败?
- 23. Microsoft Dynamics UI准则
- 24. Dynamics CRM语言包
- 25. Microsoft Dynamics CRM 2016与自定义CRM培训管理
- 26. 加载到CRM中时Microsoft Dynamics CRM 2011 Online Fetchxml报告错误
- 27. 如何在线使用Microsoft Office 365 OUTLOOK与Microsoft Dynamics CRM Online
- 28. .NET开发人员对Sharepoint,BizTalk,Microsoft Dynamics和Microsoft CRM的启示
- 29. 隐藏Microsoft Dynamics CRM中的业务流程错误
- 30. 使用3.0标注和工作流程的Microsoft Dynamics CRM 4.0