CrmConnection类使用简介
2012-07-19 10:58
148 查看
2012-07-17 第三篇 CrmConnection class简介
特点:
凡是使用过ADO.NET的开发人员,都会对这种连接方式非常熟悉,使用连接字符串进行连接。将连接字符串保存在配置文件中,避免了硬编码的现象,同时使用加密和解密,也保障了敏感信息的安全性。
典型使用方法:
Namespace: Microsoft.Xrm.ClientAssembly: Microsoft.Xrm.Client (in microsoft.xrm.client.dll)
主要就是怎么写连接字符串。
① OnPremise - Url=http://crm.contoso.com/xrmContoso;Domain=CONTOSO;Username=jsmith;Password=passcode
② Online - Url=https://contoso.crm.dynamics.com;Username=jsmith@live-int.com;Password=passcode;DeviceID=contoso-ba9f6b7b2e6d;DevicePassword=passcode
来吧,上例子~
实例:
直接使用连接字符串作为构造函数的参数的方法就不必说了,这里提到的是怎样使用保存在config文件中的连接字符串。假设使用如下的config文件
<?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="OnPremise" connectionString="Url=http://crm.contoso.com/xrmContoso"/> </connectionStrings> </configuration>
crmconnection提供了直接使用的连接字符串名称的构造函数,用起来简直方便到变态。
var connection = new CrmConnection(“OnPremise”);
在CRM自身的开发中也大量使用了SDK,所以看来这堆CRM核心开发人员也跟我们一样,有句话怎么说的来着,好程序员都是懒汉~_~..
扩展:(使用CrmConnection生成CrmOrganizationServiceContext)
var connection = new CrmConnection("OnPremise"); var service = new OrganizationService(connection); var context = new CrmOrganizationServiceContext(connection);
加密 :
本身把连接字符串保存在config文件中避免了硬编码的现象,但是直接就把敏感数据用明码保存也着实是相当奔放的行为。所以我们这里就会建议进行加密增强安全性。
使用RsaProtectedConfigurationProvider进行加密后得出的结果类似:
<?xml version="1.0"?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup> <connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider"> <EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element" xmlns="http://www.w3.org/2001/04/xmlenc#"> <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" /> <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> <EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#"> <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" /> <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> <KeyName>Rsa Key</KeyName> </KeyInfo> <CipherData> <CipherValue>bBswaTPy5cEeNV2BfiqlDealksdfkljhaslk;dhlfkj2XX9FW/Iervg1doFV5WN+4VQvgINquwAUvlBQUzJj55t+bdEW/e6mEDAWbJtJC2t9MEgXZ7Y4wNITSoQEM7CP/99651UG5lIfLoCm6hQVX0IoKgGTFhJPuyH5ITvbfINyCv0VDg=</CipherValue> </CipherData> </EncryptedKey> </KeyInfo> <CipherData> <CipherValue>LZmVzE8646464646546465/GdMwZ5YrY8N9GUAKnnzZxGjwydm0dGrFt37NAARnbE1ljWd8E0qy3DPaOQ6zoMQDiona+najQHVfD8gMAhrDK9qDIy/nkQP/YzVmmjyKUcYhlBV76LPDMeGOZyq2UCNoVZb0K0qnx0jxY+Lb4lCXVYwqRU6KohPb/oUZas6gbEW+aZVAW79TX1HkXQmFiq97I5oIEGvmV4el8i8V3HoWelt//3HkKwWiSA6dZ4rtEfzlhIuJbBej9wRJkn9IuJ/O4IsDr33tAL9SEt/FMOI6tkbex1220Woa8PNQBsZwmU6xbAGVUaYy+u5Pe1gjQXFjOwxcVhuPrm1w4wtpLO4zV0Oe8qE09gjYlCK5xBFAcvynUlnLeOSQK3p/qY93FfFlnzMPi3/YAVJtMSa2u3c6f9hYIPo3sLwTcw+RdRnJfhnxdnnYVyRYxrXskNiThbAiu0ZXQmrtgcQmUTqzfC5GXLHV1C+SHRcN4wP3OzbRwRIVAv+lXQ/CpF1Ig2Aj5zTpFjcMv7BF3E/VeMKxEDZhk+w3bfIeJWHlyg6ucVtWT8lLXyLGBnvcf7HW3b3RJGoSObWt0cqsxlQ7igTDQqm1zCXD+StSvbmYsDWR9iEUxuRBmKvmca3u6W051n0YNy2s4w9NDFi8r/u9s22yst/i5F5bJRzuBEcuvACU5RK0d8ueanUDTIfuBfq+l6f6JS9jeiVwxm0Styqn5GC1OTACzvspKcphoC0T+pbAKeaF286WgQ==</CipherValue> </CipherData> </EncryptedData> </connectionStrings> </configuration>好处是避免了敏感数据被以明码方式获取,而且C#代码方面不需要做任何改动。
引用资料:
1. http://technet.microsoft.com/en-us/library/microsoft.xrm.client.crmconnection 2.Dynamics CRM 2011 Developer Extensions 紹介 - CrmConnection クラスで簡単に組織 Web サービスを生成
3. Microsoft Dynamics CRM SDK
相关文章推荐
- ant使用简介
- ZK框架简介,以及在ZK下使用JXL读取Excel模板,导出数据模型到Excel的方法
- memcached简介及java使用方法
- JS的函数简介与使用
- MSMQ简介及使用
- kafka入门:简介、使用场景、设计原理、主要配置及集群搭建
- Linux Container(LXC容器)的基本命令使用简介
- Ubuntu 10.10安装和使用pythonbrew简介
- Spark-1.0.0 SQL使用简介
- PHP函数getenv简介和使用实例
- git-github-TortoiseGit综合使用教程(一)简介
- Cunti 使用简介
- C#使用String和StringBuilder运行速度测试及各自常用方法简介
- svn简介与使用
- 慕课网-安卓工程师初养成-1-6 MyEclipse的使用简介
- 【原创翻译】COM入门简介 -- 什么是COM , 怎样使用它 (5)
- SQLServer游标(Cursor)简介和使用说明 及全局变量说明和功能
- Linux 引导管理器 grub2 使用简介
- ASIHTTPRequest类库简介和使用说明(转)