Dynamics crm 2011 crm 2011 OP:插件运行在什么服务器上?

Dynamics crm 2011 crm 2011 OP:插件运行在什么服务器上?,dynamics-crm-2011,dynamics-crm,crm,dynamics-crm-2013,Dynamics Crm 2011,Dynamics Crm,Crm,Dynamics Crm 2013,我们在prem上有一个2011。我们为app和db使用单独的服务器。我们通常将同步、预验证、完全信任插件部署到数据库中。有人能澄清插件运行时哪些服务器资源会受到影响吗?如果我们有很多插件同时执行,你会认为应用服务器或数据库服务器受到的影响最大吗 更新:我想我真正想问的是,如果我触发(UI或应用程序)某个实体上有插件连接的消息,在幕后会发生什么。具体来说,当插件运行时,给定上述场景,插件运行在什么服务器内存空间中?异步/同步和消息处理阶段会影响它吗?e、 g.如果插件是同步+预验证,而不是异步和预

我们在prem上有一个2011。我们为app和db使用单独的服务器。我们通常将同步、预验证、完全信任插件部署到数据库中。有人能澄清插件运行时哪些服务器资源会受到影响吗?如果我们有很多插件同时执行,你会认为应用服务器或数据库服务器受到的影响最大吗


更新:我想我真正想问的是,如果我触发(UI或应用程序)某个实体上有插件连接的消息,在幕后会发生什么。具体来说,当插件运行时,给定上述场景,插件运行在什么服务器内存空间中?异步/同步和消息处理阶段会影响它吗?e、 g.如果插件是同步+预验证,而不是异步和预操作…

那么基本CRM部署由以下组件组成:

  • web前端,这是安装IIS和CRM网站的地方。这就是同步插件运行的地方

  • 后端,安装CRM异步服务的地方。这是异步插件和工作流运行的地方

  • SQL数据库

根据您的安装情况,这些组件可以全部位于一台服务器上,也可以分布在多台服务器上,并且可以在多台服务器上平衡多个副本的负载

取决于你的插件在做什么以及它是如何做的,所有这些都可能受到影响。然而,在这种情况下,它可能会出现在安装应用服务器和SQL的任何地方

您可能会发现以下内容很有用:


    • 有多种可能的情况:

    • 您的插件已注册为非沙盒和同步插件。在这种情况下,插件代码与前端web服务器上的IIS进程内联运行
    • 您的插件已注册为非沙盒和异步。您的插件代码正在CRM异步Windows服务中运行。此服务作为“后端服务器”的一部分运行,因此它可能与前端web服务器不在同一台计算机上
    • 您的插件注册为沙盒,可以是同步的,也可以是异步的。在这种情况下,插件代码正在CRM沙盒处理服务中运行。此服务也在“后端”服务器上运行

    • 在任何情况下,您的代码都不会在SQL Server上运行,尽管它无疑会通过前端或后端CRM服务器的查询和事务消耗SQL Server的资源。

      谢谢。我们的异步服务在应用服务器上。这是否意味着同步和异步插件都将在应用服务器上执行?我想知道在DB事务中如何使用在操作前/操作后注册的插件…我已经阅读了这两个链接,但仍然不清楚运行插件消耗了哪些服务器内存…@keerz,是的,我认为这两个插件都在应用服务器上执行。不确定DB事务是如何实现的。我想主要的一点是,所有服务器上都将使用资源,例如,在访问DB的应用服务器(前端)上运行的插件将同时使用这两个服务器上的资源。我不确定我的阅读是否正确,但我开始认为异步和同步插件更有可能在DB服务器上运行。异步“服务”位于appserver上,但现在看来,它所做的一切都是将内容放入似乎在db服务器上运行的异步“队列”中。此外,本文也没有涉及非沙盒插件…情节变厚了。老实说,我不确定你所说的DB服务器是什么意思。你是说后端服务器吗?是的,我们有两台服务器,我称之为“app”和“db”,我想微软称之为“front”和“back”,谢谢。还有问题。对于1,如果插件在操作前/操作后注册,您能否解释crm系统如何将插件逻辑作为DB事务的一部分执行?我一直假设事务本身由sql server管理,那么插件执行如何适应该模型?事务在sql server中仍处于打开状态,因此如果操作后插件抛出异常,事务将回滚。@keerz-前阶段和后阶段的概念与“核心操作”。核心操作是CRM在没有开发人员参与的情况下执行的操作,部分操作包括写入(或读取或组合,具体取决于运行插件的事件)。插件的目的是截获消息并更改消息或“做其他事情”“。为简单起见,将预操作视为在消息到达数据库之前抓取消息,将后操作视为在消息到达数据库之后获取消息(但具有回滚db操作的功能)。