http://www.cnblogs.com/StoneGarden/archive/2012/02/06/2340661.html

MS CRM 2011的自定义和开发(11)——插件(plugin)开发(三)

插件开发完成后,就需要注册、调试、部署了。

在注册之前,需要着重指出的是,必须对插件程序集进行签名,具体步骤是,在Visual Studio中,右键点击项目名称,快捷菜单中选择“属性”,在项目属性对话框中,点击“签名”页签, 勾选“为程序集签名”,在“选择强名称密钥文件”下拉框中,选择“新建”创建一个新的密钥文件或者“浏览”选择一个已有的密钥文件。如下图所示。

注册使用插件注册工具PluginRegistrationTool了,该工具位于SDK\Tools\PluginRegistration目录下,需要使用Visual Studio .Net 2010编译一下pluginregistrationtool项目。

使用插件注册工具进行插件注册的步骤非常简单,

1. 运行插件注册工具,如果是初次运行,在Connections控制板中没有任何内容,需要点击工具条的“Create New Connection”按钮,而后在“Connection Information”区域的Label文本框中输入代表连接的注记名称,在“Discovery Url”文本框中输入服务器的地址(包括端口号),在“User Name”文本框中输入包括域名在内的用户名称。如下图所示。

2. 点击“Connect”按钮,而后再在弹出的Windows登陆窗口中输入密码,注册工具会去获取目标部署中的所有组织。如下图所示。

3. 选择需要连接的组织,而后点击“Connect”按钮。注册工具获取目标组织的消息、用户、已经注册的插件、步骤、映像等等所有信息,而后,将在右侧的区域显示出目标组织中的所有已经注册插件程序集。如下图所示。

右侧的区域主要分为四个部分,最上方的工具条、左上方的已注册插件以及自定义工作流活动程序集列表,右上方的PropertyGrid显示了列表中当前选择项目的属性,下方的区域是列表中当前选择项的一些内容。

如果需要注册插件。点击工具条中的“Register”按钮,系统会弹出下拉菜单,如下图所示。

选择“Register New Assembly”,就开始了注册插件程序集。点击该菜单项之后,系统弹出“Register New Plugin”窗口,点击“Step #1:Specify the location of the Assembly  to Analyze”文本框旁的按钮“…”,系统将弹出对话框,以便找到程序集。如下图所示。

选定程序集后,点击“打开”按钮,返回“Register New Plugin”窗口。会在“Step #2”的列表框中列出程序集中所有的插件类。如下图所示。

在“Step #3”中,可以选择隔离模式Isolation Mode,有两种模式:None以及沙盒Sandbox,如果是将插件放置在沙盒中,那么插件类将无法访问服务器上的文件系统、应用程序日志以及注册表等信息,而注册为None模式则没有这个限制。

在“Step #4”中,设定程序集存放位置:数据库Database、文件系统Disk以及全局缓存GAC中,如果正式生产环境部署,那么推荐部署在数据库中,如果是开发环境,推荐部署在Disk上,以方便调试。

点击“Register Selected”按钮,完成插件程序集的注册工作。返回主界面,对比之前的程序集列表,可以看出,新增的插件的相关内容已赫然在目。如下图红色方框区域所示。

下面开始完成对事件的订阅工作。

选择需要订阅事件的插件类 –〉 点击“Register” –〉 “Register New Step”,系统弹出“Register New Step”窗口。由于是以前一篇文章中的AccountNumberPlugin举例,所以,需要订阅的消息是客户Accont实体的Create消息的前置事件,所以,在“Register New Step”窗口,做出如下的设置:

消息Message文本框内容:Create;

主要实体Primary Entity文本框内容:account;

阶段Eventing pipeline Stage of Execution: Pre-Operation(CRM 2011 Only)

模式Execution Mode:Synchronous

部署Deployment:Server

最终效果如下图所示:

点击“Register New”按钮,完成步骤注册,返回注册工具主界面。可以看出在插件列表中又多出一行新内容,对应了刚刚注册的Step,效果如下图的红色方框区域所示。

如果某个插件类中使用了映像Image,那么需要针对相应步骤设定Image信息,点击“Register” –〉 “Register New Image”,系统弹出“Register New Image”窗口,在“Step列表”中选择需要添加Image的步骤,而后设定前期映像、后期映像的信息。效果如下图所示。

经过以上的几个步骤,即完成了插件程序集的注册、步骤的注册以及映像Image的注册。下面即开始进行测试,看看是否能够满足业务要求,如果出现了错误需要进行调试等等内容,在后续章节中再进行介绍。

MS CRM 2011的自定义和开发(11)——插件(plugin)开发(三)的更多相关文章

  1. MS CRM 2011的自定义和开发(11)——插件(plugin)开发(四)

    http://www.cnblogs.com/StoneGarden/archive/2012/02/08/2343294.html MS CRM 2011的自定义和开发(11)——插件(plugin ...

  2. MS CRM 2011的自定义和开发(11)——插件(plugin)开发(一)

    http://www.cnblogs.com/StoneGarden/archive/2012/02/02/2336147.html MS CRM 2011的自定义和开发(11)——插件(plugin ...

  3. MS CRM 2011的自定义和开发(11)——插件(plugin)开发(二)

    http://www.cnblogs.com/StoneGarden/archive/2012/02/06/2339490.html MS CRM 2011的自定义和开发(11)——插件(plugin ...

  4. 【Mybtais】Mybatis 插件 Plugin开发(一)动态代理步步解析

    需求: 对原有系统中的方法进行'拦截',在方法执行的前后添加新的处理逻辑. 分析: 不是办法的办法就是,对原有的每个方法进行修改,添加上新的逻辑:如果需要拦截的方法比较少,选择此方法到是会节省成本.但 ...

  5. Android组件化和插件化开发

    http://www.cnblogs.com/android-blogs/p/5703355.html 什么是组件化和插件化? 组件化开发就是将一个app分成多个模块,每个模块都是一个组件(Modul ...

  6. YYDS: Webpack Plugin开发

    目录 导读 一.cdn常规使用 二.开发一个webpack plugin 三.cdn优化插件实现 1.创建一个具名 JavaScript 函数(使用ES6的class实现) 2.在它的原型上定义 ap ...

  7. CRM 2011 开发中遇到的问题小结

    1.将Retrive 方法改成 RetrieveMultiple时 如果指定的ColumnSet 没有指定主键(entiryname+id),要显示增加实体的主键.否则在调用 Retrieve方法时返 ...

  8. Microsoft Dynamics CRM 2011的组织服务中的RetrieveMultiple方法(转)

    本篇文章,介绍Microsoft Dynamics CRM 2011的组织服务中的RetrieveMultiple方法. RetreiveMultiple方法,用于获取实体的多个实例,该方法的签名如下 ...

  9. Microsoft Dynamics CRM 2011 安装完全教程

    作者:卞功鑫,转载请保留.http://www.cnblogs.com/BinBinGo/p/4302612.html 环境介绍 WINDOWS 2008 R2 Datacenter Microsof ...

随机推荐

  1. 开源 VS 商业,消息中间件你不知道的那些事

    11月23日,新炬网络中间件技术专家刘拓老师在DBA+社群中间件用户组进行了一次主题为“开源 VS 商业,消息中间件你不知道的那些事”的线上分享.小编特别整理出其中精华内容,供大家学习交流. 嘉宾简介 ...

  2. cocos2d-html5版日历组件

    根据一as3版本给改编成成了js版的.as3版本的地址:  http://download.csdn.net/detail/fengye513/2722289 胜利项目做的差不多了,由于项目用的是c+ ...

  3. ZOJ 3804--解题报告

    题目相关: 3804相关链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5336 宠物(minion)在N*M的矩形玩游戏 ...

  4. HDU 5692 线段树+dfs序

    Snacks Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Sub ...

  5. codevs 1299 线段树 区间更新查询

    1299 切水果  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 大师 Master 题解  查看运行结果     题目描述 Description 简单的说,一共N个水果排成 ...

  6. ZOJ 1007 Numerical Summation of a Series

    原题链接 题目大意:x的取值从0.000到2.000,输出每个x对应的y(x)的值 解法:参考了这篇日志http://www.cnblogs.com/godhand/archive/2010/04/2 ...

  7. install usb serial

    Install driver for USB-UART bridge converter on Linux Ubuntu12.04 Ubuntu下USB转串口芯片驱动程序安装,支持cp210x,pl2 ...

  8. leetcode 109 Convert Sorted List to Binary Search Tree ----- java

    Given a singly linked list where elements are sorted in ascending order, convert it to a height bala ...

  9. URAL 1076 Trash Trash(最大权匹配)

    Trash Time limit: 1.0 secondMemory limit: 64 MB You were just hired as CEO of the local junkyard.One ...

  10. 课堂所讲整理:HTML--5JavaScript简介

    一.JavaScript简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司 ...