azure - 使用 Azure Application Insights 的 Dynamics CRM 365(在线)插件异常 EnvironmentPermission

标签 azure plugins dynamics-crm microsoft-dynamics

我正在尝试使用插件和 Azure Application Insights 跟踪自定义事件。当我构建插件时,我使用 MSBuild.ILMerge.Task 将 Application.Insights.dll 与我的插件程序集合并。这是我的步骤 接下来进行合并: http://dynamicscrmcoe.com/il-merge-dynamics-crm-plugins/

我遇到的问题是,当我尝试实例化遥测客户端时:

var telemetryClient = new TelemetryClient();

我收到此错误:

Request for the permission of type System.Security.Permissions.EnvironmentPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.

我尝试使用安全属性授予权限:

[EnvironmentPermission(SecurityAction.Assert, Unrestricted = true)]

也尝试过

[PermissionSet(SecurityAction.Assert, Name = "FullTrust")]

但似乎没有任何效果。任何想法/建议将不胜感激。 提前致谢。

最佳答案

简短的回答是你不能这样做。当前版本的 Application Insights 不支持对 CRM 沙盒插件施加的代码限制。

此问题已被报告并解决:https://github.com/Microsoft/ApplicationInsights-dotnet/issues/416 .

我下载了这段代码,它解决了它试图解决的问题,即某些机器信息调用。它仍然会抛出错误,因为它希望能够尝试读取文件系统 - 但它不能。

Application Insights 设计为在应用程序(通常但并非总是 Web 应用程序)的基础级别实现。您在创建自定义插件和工作流事件时编写的代码并不是该代码。它是基础级别应用程序的插件,并且该基础级别应用程序不实现 Application Insights。

也就是说,沙盒插件中没有太多必要使用 Application Insights。 Dynamics CRM 已经跟踪沙箱插件的插件执行统计信息,可以通过高级查找查看。

Advanced Find Search for Plugin Statistics

对于详细跟踪,尤其是异常跟踪,您可以在插件中使用 ITracingService

关于azure - 使用 Azure Application Insights 的 Dynamics CRM 365(在线)插件异常 EnvironmentPermission,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42101836/

相关文章:

azure - 如何检索本地 Service Fabric 集群的证书指纹?

azure - 一个客户端多次接收消息且一个客户端接收后消息被删除

azure - 将现有 B2C 租户链接到我的 Azure 订阅但无法创建资源?

c# - 如何将 Visual Studio 表单设计器用于其他窗口系统?

grails - 从 Grails Twitter-Bootstrap 插件覆盖 CSS

azure - 是否可以将配置迁移工具与 Azure Devops 结合使用?动态365

wcf - 如何在 Microsoft Dynamics CRM 2011 中不额外调用 IOrganizationService 获取新创建的实体?

plugins - QualifyLeadRequest 触发 CRM 2015 中的重复检测

Azure存储生命周期管理: filtering based on file extension

android - 如何使用 Cordova 文件插件读取/写入 Android/iOS 设备子目录中的文件?