我想创建一个从url中读取自定义参数的插件。我发现了这个一段代码
https://blogs.msdn.microsoft.com/madenwal/2011/04/15/retrieving-querystring-paramaters-in-a-crm-plug-in/
当我尝试为这个调用实现它时
var reference = HttpContext.Current.Request.QueryString["parameter_reference"]
我得到以下错误:
System.Security.SecurityException:该程序集不允许部分受信任的调用方。
我试图通过将属性应用于程序集来解决这个问题,如本文所示:
https://support.microsoft.com/en-us/help/839300/how-to-use-the-allowpartiallytrustedcallers-attribute-to-call-an-assembly-that-has-a-strong-name-from-a-web-page-by-using-visual-c-.net,-visual-c-2005或更新版本
我不确定httpcontext需要什么安全权限,即FileIOPermission或PrincipalPermission。所以我最终使用了SecurityPermission选项。
然而,这并没有解决问题。任何想法都将不胜感激。提前谢谢。
您可能会收到该错误,因为您的插件正在沙箱中运行。
插件隔离、信任和统计
Microsoft Dynamics 365(在线和本地)支持插件和自定义工作流活动。在里面这个隔离的环境,也称为沙箱、插件或自定义活动可以充分利用Microsoft访问组织web服务的Dynamics 365 SDK。访问文件系统、系统事件日志、某些网络协议、注册表,并且在沙箱中防止了更多。
您可以尝试将插件移出沙箱-在插件注册期间寻找隔离模式。
然而,我建议采取完全不同的方法,例如从记录字段中读取数据。读取查询字符串有点不寻常,而且查询字符串格式在CRM版本之间会发生变化。