【发布时间】:2017-09-02 11:55:37
【问题描述】:
我知道我可以在 MS CRM 中注册一个新的“服务端点”并使用它向 Azure 服务总线发送消息,但这...并不是我真正想要的。上述方法最终发送一个序列化的RemoteExecutionContext。
就我而言,我希望完全控制服务总线消息将包含的内容。这意味着序列化我自己的类。
我尝试使用WindowsAzure.ServiceBus nugget(和 ILmerging 新 DLL),但这仅适用于非沙盒设置(本地 CRM),但我也希望我的解决方案在 CRM 中工作在线的。当尝试在 CRM Online 中使用相同的代码然后尝试创建 TopicClient 时会引发错误:
System.Security.SecurityException:该程序集不允许部分受信任的调用者
有没有办法解决上述问题?
【问题讨论】:
-
WindowsAzure.ServiceBus 在 GitHub 上有开源。是否有任何特殊原因导致您无法获取源代码并仅将其与您的 CRM 插件一起编译?
-
@PawelGradecki 嗯,我可以试试,但我怀疑这是否能解决问题。这可能是因为 CRM 沙盒不信任
System.Web(例如,即使您甚至不能使用UrlEncode)。顺便说一句:问题不在于合并外部 DLL。我在沙盒模式下运行的 CRM 解决方案中成功使用了大量外部 DLL。 -
我知道线程很旧,我遇到了同样的问题。正如在回答中提到的使用 Rest api 进行服务总线和发送/使用消息的简单方法,但我希望注册端点而不是插件步骤。注意只注册 Endpoint,然后在我的插件中我可以使用
iserviceendpointnotificationserviceexecute 方法来发送插件的上下文。但我希望发送自定义消息而不是上下文。有什么想法可以做到吗? -
@AnkUser 这是一个完全不同的问题,超出了这里讨论的范围。
-
我明白了。我正在从 MS CRM 插件发送自定义消息是这里讨论的内容,我认为我有几乎相似的请求,实际上可行的解决方案是我所倾向于的,但需要了解更多关于 iserviceendpointnotificationservice 的信息,它来自 plugincontext
标签: c# azure dynamics-crm azureservicebus dynamics-crm-online