"Dynamics CRM Online" で連絡先が作成されたときに、データを Azure Service Bus Queue にプッシュしようとしています。Plugin Registration Tool に登録することにより、プラグインを使用して実装しました。しかし、どういうわけか、連絡先の保存中にエラーがスローされます。プラグインに実装したコードは次のとおりです。
public void Execute(IServiceProvider serviceProvider)
{
try
{
IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
Entity entity = (Entity)context.InputParameters["Target"];
if (entity.LogicalName.Equals("account"))
{
QueueDescription qd = new QueueDescription("testQ");
qd.MaxSizeInMegabytes = 5120;
qd.DefaultMessageTimeToLive = new TimeSpan(0, 1, 0);
string connectionString =
CloudConfigurationManager.GetSetting("Endpoint=sb://test.servicebus.windows.net/;SharedSecretIssuer=owner;SharedSecretValue=secretcode=");
var namespaceManager =
NamespaceManager.CreateFromConnectionString(connectionString);
if (!namespaceManager.QueueExists("testQ"))
{
namespaceManager.CreateQueue("testQ");
}
QueueClient Client =
QueueClient.CreateFromConnectionString(connectionString, "testQ");
BrokeredMessage message = new BrokeredMessage(entity);
message.Properties["FirstName"] = "ABC";
message.Properties["LastName"] = "Z";
Client.Send(message);
}
}
catch (Exception e)
{
throw;
}
}