Dynamics 365版本8.2.24.23
我们希望将消息从Dynamics 365发送到Azure服务总线。为此,我们通过ilmerge将microsoft.servicebus.dll合并到主DLL中。当我们通过自定义工作流程活动调用DLL时,将在下面显示异常。
部分受信任的呼叫者问题仍然存在吗?解决方法是,我们可以通过REST API调用Azure服务总线,但我们不希望这样做。
System.Security.SecurityException:该程序集不允许部分受信任的调用方。
在Microsoft.ServiceBus.Messaging.MessagingFactorySettings..ctor()
在Microsoft.ServiceBus.Messaging.Configuration.KeyValueConfigurationManager.CreateFactory(IEnumerable 1 endpoints, IEnumerable
1个stsEndpoints,IEnumerable 1 viaEndpoints, String operationTimeout, String issuerName, String issuerKey, String sasKeyName, String sasKey, String sasToken, String windowsDomain, String windowsUser, SecureString windowsPassword, String oauthDomain, String oauthUser, SecureString oauthPassword, String transportType, String enableAmqpLinkRedirect, String amqpSecurityScheme)
at Microsoft.ServiceBus.Messaging.Configuration.KeyValueConfigurationManager.GetOrUpdateFactory(IEnumerable
1个端点,IEnumerable 1 stsEndpoints, IEnumerable
1 via Endpoints,String operationTimeout,String issuerName,String issuerKey,String sasKeyName,字符串sasKey,字符串sasToken,字符串windowsDomain,字符串windowsUser,SecureString windowsPassword,字符串oauthDomain,字符串oauthUser,SecureString oauthPassword,字符串transportType,字符串enableAmqpLinkRedirect,字符串amqpSecurityScheme)
在Microsoft.ServiceBus.Messaging.Configuration.KeyValueConfigurationManager.CreateMessagingFactory(Boolean useCachedFactory)
在Microsoft.ServiceBus.Messaging.MessagingFactory.CreateFromConnectionString(String connectionString,Boolean useCache)
在Microsoft.ServiceBus.Messaging.TopicClient.CreateFromConnectionString(String connectionString,String path)
答案 0 :(得分:2)
Dynamics 365自定义工作流程程序集部署在部分受信任的环境(即沙箱)中。不幸的是,您引用的程序集需要完全信任的环境。您的选择是使用REST API。
这是类似的情况,其中引用了SharePoint程序集,但需要完全信任:
ILMerge with CRM plugin and Sharepoint Online
我假设您正在使用Dynamics 365 Online。请注意,在内部部署中,您可以在沙盒环境之外部署自定义工作流程程序集。