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. Gitlab. Disable user creation on welcome page

    Login to your Gitlab > Admin area > settings > Features > remove the check mark "Si ...

  2. VundleVim的安装与使用

    git:https://github.com/VundleVim/Vundle.vim vundle是一款vim编辑器的插件管理软,用起来很方便的原因有几点: 1)只要知道插件名称,就能搜索到并下载安 ...

  3. 【题解】【数组】【Prefix Sums】【Codility】Passing Cars

    A non-empty zero-indexed array A consisting of N integers is given. The consecutive elements of arra ...

  4. html5实现饼图和线图-我们到底能走多远系列(34)

    我们到底能走多远系列(34) 扯淡: 送给各位一段话:     人生是一个不断做加法的过程     从赤条条无牵无挂的来     到学会荣辱羞耻 礼仪规范     再到赚取世间的名声 财富 地位    ...

  5. MAC OSX使用公钥方式登录Linux服务器并进行安全加固

    登录Linux服务器的方式一般是使用ssh,直接使用密码登录既要记忆密码在输入过程中又有安全风险.所以本文将提供一个使用公钥登录的方式来解决输入密码的问题. 首先在mac上生成一个私钥.公钥对 首先, ...

  6. 图像处理之face morphing

    以前在论坛.微博经常看到一张脸,五官长得像A,脸型似乎又是B,觉得很有意思. 比如像这张图片.这张图片应该是网友用Photoshop完成的,他们取了郭大爷的五官,放在金元帅的脸上,在把边缘处理平滑. ...

  7. 使用Spring + Jedis集成Redis

    转自:http://my.oschina.net/u/866380/blog/521658 摘要 使用Spring和Jedis完成分片Redis的集成 一.集成环境 Tomcat7 JDK1.7 Je ...

  8. PHP 的 HMAC_SHA1算法 实现

    根据RFC 2316(Report of the IAB,April 1998),HMAC(散列消息身份验证码: Hashed Message Authentication Code)以及IPSec被 ...

  9. MySql数据类型(转)

    数值类型 MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数.许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许我们指 ...

  10. 对 Android 开发者有益的 40 条优化建议

    本文转载于:http://www.oschina.net/translate/40-developer-tips-for-android-optimization?cmp 下面是开始Android编程 ...