Skip to main content
  1. Power Platforms/

Dataverse API

·51 words·1 min·
Table of Contents

Dataverse API
#

IPlugin & IServiceProvider
#

若要開發Plugins,可以實作Dataverse SDK提供的IPlugin介面,旗下會有一個唯一需要實作的方法叫做Execute

public sealed class MyFirstPlugin : IPlugin
{
    public void Execute(IServiceProvider serviceProvider)
    {
           //Business Logic 
     }
}

其中唯一參數IServiceProvider介面有提供一個GetService方法,可以用來取得Plugin可用的Service。一般來說我們會透過Factory取得三個物件:

IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);
ITracingService tracer = (ITracingService)serviceProvider.GetService(typeof(ITracingService));
  • IOrganizationServiceFactory - 提供OrganizationService的存取方法,以存取plugin資料。
  • IPluginExecutionContext - 提供Plugin執行的上下文資訊,例如執行的階段、訊息名稱、輸入參數等。
  • ITracingService - 提供Plugin的追蹤服務,可以使用來記錄Plugin的執行過程,類似於Logger。