MS CRM 2011的自定义和开发(11)——插件(plugin)开发(三)
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)开发(三)的更多相关文章
- MS CRM 2011的自定义和开发(11)——插件(plugin)开发(四)
http://www.cnblogs.com/StoneGarden/archive/2012/02/08/2343294.html MS CRM 2011的自定义和开发(11)——插件(plugin ...
- MS CRM 2011的自定义和开发(11)——插件(plugin)开发(一)
http://www.cnblogs.com/StoneGarden/archive/2012/02/02/2336147.html MS CRM 2011的自定义和开发(11)——插件(plugin ...
- MS CRM 2011的自定义和开发(11)——插件(plugin)开发(二)
http://www.cnblogs.com/StoneGarden/archive/2012/02/06/2339490.html MS CRM 2011的自定义和开发(11)——插件(plugin ...
- 【Mybtais】Mybatis 插件 Plugin开发(一)动态代理步步解析
需求: 对原有系统中的方法进行'拦截',在方法执行的前后添加新的处理逻辑. 分析: 不是办法的办法就是,对原有的每个方法进行修改,添加上新的逻辑:如果需要拦截的方法比较少,选择此方法到是会节省成本.但 ...
- Android组件化和插件化开发
http://www.cnblogs.com/android-blogs/p/5703355.html 什么是组件化和插件化? 组件化开发就是将一个app分成多个模块,每个模块都是一个组件(Modul ...
- YYDS: Webpack Plugin开发
目录 导读 一.cdn常规使用 二.开发一个webpack plugin 三.cdn优化插件实现 1.创建一个具名 JavaScript 函数(使用ES6的class实现) 2.在它的原型上定义 ap ...
- CRM 2011 开发中遇到的问题小结
1.将Retrive 方法改成 RetrieveMultiple时 如果指定的ColumnSet 没有指定主键(entiryname+id),要显示增加实体的主键.否则在调用 Retrieve方法时返 ...
- Microsoft Dynamics CRM 2011的组织服务中的RetrieveMultiple方法(转)
本篇文章,介绍Microsoft Dynamics CRM 2011的组织服务中的RetrieveMultiple方法. RetreiveMultiple方法,用于获取实体的多个实例,该方法的签名如下 ...
- Microsoft Dynamics CRM 2011 安装完全教程
作者:卞功鑫,转载请保留.http://www.cnblogs.com/BinBinGo/p/4302612.html 环境介绍 WINDOWS 2008 R2 Datacenter Microsof ...
随机推荐
- 开源 VS 商业,消息中间件你不知道的那些事
11月23日,新炬网络中间件技术专家刘拓老师在DBA+社群中间件用户组进行了一次主题为“开源 VS 商业,消息中间件你不知道的那些事”的线上分享.小编特别整理出其中精华内容,供大家学习交流. 嘉宾简介 ...
- cocos2d-html5版日历组件
根据一as3版本给改编成成了js版的.as3版本的地址: http://download.csdn.net/detail/fengye513/2722289 胜利项目做的差不多了,由于项目用的是c+ ...
- ZOJ 3804--解题报告
题目相关: 3804相关链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5336 宠物(minion)在N*M的矩形玩游戏 ...
- HDU 5692 线段树+dfs序
Snacks Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Sub ...
- codevs 1299 线段树 区间更新查询
1299 切水果 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题解 查看运行结果 题目描述 Description 简单的说,一共N个水果排成 ...
- ZOJ 1007 Numerical Summation of a Series
原题链接 题目大意:x的取值从0.000到2.000,输出每个x对应的y(x)的值 解法:参考了这篇日志http://www.cnblogs.com/godhand/archive/2010/04/2 ...
- install usb serial
Install driver for USB-UART bridge converter on Linux Ubuntu12.04 Ubuntu下USB转串口芯片驱动程序安装,支持cp210x,pl2 ...
- 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 ...
- URAL 1076 Trash Trash(最大权匹配)
Trash Time limit: 1.0 secondMemory limit: 64 MB You were just hired as CEO of the local junkyard.One ...
- 课堂所讲整理:HTML--5JavaScript简介
一.JavaScript简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司 ...