编程语言
首页 > 编程语言> > 从Ribbon JScript CRM Online 2011调用C#代码

从Ribbon JScript CRM Online 2011调用C#代码

作者:互联网

我需要在实体上点击功能区按钮执行一些代码,该实体可以从CRM Online 2011更新一些相关数据.我宁愿不必在JScript中编写所有这些逻辑.有没有办法从JScript调用C#代码?我查看了Microsoft正在使用的JScript文件,它看起来像这样:

Mscrm.Campaign.copyCampaign = function (campaignId, saveAsTemplate) {
    var $v_0 = new RemoteCommand("MarketingAutomation", "CopyCampaign", null);
    $v_0.SetParameter("campaignId", campaignId);
    $v_0.SetParameter("saveAsTemplate", saveAsTemplate.toString());
    var $v_1 = $v_0.Execute(),
        $v_2 = $v_1.ReturnValue;
    openObj(Mscrm.EntityTypeCode.Campaign, $v_2, null, null, Mscrm.NavigationMode.NavigationModeInline, null);
    Mscrm.Utilities.refreshParentGrid(Mscrm.EntityTypeCode.Campaign, campaignId)
};

我看到正在放置一个RemoteCommand调用,我假设它正在回到一些Web服务功能.我希望能做到这样的事情.我可以添加自己的Web服务功能吗?

我能够从JScript调用为实体发送“分配”消息,就像测试一样.这可能适用于插件,但为执行事件发送消息似乎很奇怪,实际上并不只是为了运行一些C#代码(“分配”,“更新”等)而且我不喜欢看到创建自己的消息的方法.

解决方法:

您无法在2011年添加自己的Web服务或创建自己的自定义插件消息.我们发现这样做的最佳方式是:

>设置一个专门存在的实体,以在服务器上运行自定义代码.
>为它提供称为消息名称的属性和另一个属性,以您选择的任何格式传递参数(XML,JSON等)
>从JavaScript中,创建传递正确参数的实体实例.
>将一个插件附加到该实体的Create消息,然后读入参数并执行您想要的任何自定义代码.

虽然只是随机传递一个Assign消息或某些东西可能会起作用,但它可能在微软的眼中是不受支持的,如果其他人不得不看这个系统就很难调试.

标签:dynamics-crm-online,javascript,dynamics-crm,dynamics-crm-2011,c-2
来源: https://codeday.me/bug/20190927/1822497.html