DefaultConfigurationProvider class

ตัวให้บริการเริ่มต้นที่ส่งกลับการกําหนดค่าตามสภาพแวดล้อม

ข้อควรพิจารณาแบบหลายผู้เช่า: ตัวให้บริการนี้สร้างอินสแตนซ์การกําหนดค่าเดียวในขณะก่อสร้าง ซึ่งใช้ร่วมกันทั่วทั้งคําขอทั้งหมดในกระบวนการ ตัวให้บริการระดับโมดูลเริ่มต้น (เช่น defaultRuntimeConfigurationProvider) คือ singletons

สําหรับสถานการณ์แบบหลายผู้เช่า ได้รับการสนับสนุนสองวิธี:

  1. ฟังก์ชันการแทนที่แบบไดนามิก (แนะนํา): ส่งผ่านฟังก์ชันแทนที่ที่อ่านจากบริบท async (เช่น OpenTelemetry baggage) ที่รันไทม์ อินสแตนซ์การกําหนดค่าเดียวกันจะส่งกลับค่าที่แตกต่างกันต่อคําขอ

    const config = new ToolingConfiguration({
      mcpPlatformEndpoint: () => {
        const tenantConfig = context.active().getValue(TENANT_KEY);
        return tenantConfig?.endpoint ?? 'https://default.endpoint';
      }
    });
    
  2. ผู้ให้บริการต่อผู้เช่า: สร้างอินสแตนซ์ของผู้ให้บริการแยกต่างหากสําหรับผู้เช่าแต่ละรายเมื่อผู้เช่าที่แตกต่างกันต้องการฟังก์ชันการแทนที่ที่แตกต่างกันทั้งหมด

วิธีการ

getConfiguration()

รายละเอียดคอนสตรักเตอร์

DefaultConfigurationProvider<T>(() => T)

new DefaultConfigurationProvider(factory: () => T)

พารามิเตอร์

factory

() => T

รายละเอียดวิธีการ

getConfiguration()

function getConfiguration(): T

การส่งคืน

T