आप किसी अन्य एप्लिकेशन की तरह ही पर्यावरण चर का उपयोग कर सकते हैं , यह सेवा के कपड़े के भीतर अतिथि निष्पादन के साथ भी काम करता है , settings.xml
क्योंकि इसके लिए अंतर्निहित सर्विस फैब्रिक रनटाइम की आवश्यकता होती है।
अपने आवेदन के भीतर आप पर्यावरण चर को किसी अन्य .net अनुप्रयोग की तरह एक्सेस कर सकते हैं, हालांकि कक्षा में GetEnvironmentVariable
विधि Environment
:
var baseUri = Environment.GetEnvironmentVariable("SuperWebServiceBaseUri");
फिर हमें कुछ डिफ़ॉल्ट पर्यावरण चर मूल्यों को सेटअप करने की आवश्यकता है, यह ServiceManifest.xml
सेवा की घोषणा फ़ाइल के भीतर किया जाता है ।
<?xml version="1.0" encoding="utf-8" ?>
<ServiceManifest Name="MyServicePkg" Version="1.0.0" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<CodePackage Name="Code" Version="1.0.0">
<EnvironmentVariables>
<EnvironmentVariable Name="SuperWebServiceBaseUri" Value="http://localhost:12345"/>
</EnvironmentVariables>
</CodePackage>
</ServiceManifest>
फिर ApplicationManifest.xml
निम्न कोड का उपयोग करके इन पर्यावरण चर को फ़ाइल के भीतर ओवरराइड किया जा सकता है :
<?xml version="1.0" encoding="utf-8"?>
<ApplicationManifest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ApplicationTypeName="ChileTargetType" ApplicationTypeVersion="1.0.0" xmlns="http://schemas.microsoft.com/2011/01/fabric">
<Parameters>
</Parameters>
<ServiceManifestImport>
<ServiceManifestRef ServiceManifestName="MyServicePkg" ServiceManifestVersion="1.0.0" />
<EnvironmentOverrides CodePackageRef="Code">
<EnvironmentVariable Name="SuperWebServiceBaseUri" Value="https://the-real-live-super-base-uri.com/"/>
</EnvironmentOverrides>
</ServiceManifestImport>
</ApplicationManifest>
यह तो का उपयोग कर किसी अन्य अनुप्रयोग प्रकट सेटिंग की तरह parameterised किया जा सकता है local.xml
और cloud.xml
।
<?xml version="1.0" encoding="utf-8"?>
<Application xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Name="fabric:/AppFabricName.ServiceFabric" xmlns="http://schemas.microsoft.com/2011/01/fabric">
<Parameters>
<Parameter Name="MyService_SuperWebServiceBaseUri" Value="https://another-base-uri.com/" />
</Parameters>
</Application>
फिर हमें ApplicationManifest.xml
इन मापदंडों का समर्थन करने के लिए अद्यतन करना होगा ;
<?xml version="1.0" encoding="utf-8"?>
<ApplicationManifest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ApplicationTypeName="ChileTargetType" ApplicationTypeVersion="1.0.0" xmlns="http://schemas.microsoft.com/2011/01/fabric">
<Parameters>
<Parameter Name="MyService_SuperWebServiceBaseUri" DefaultValue="https://the-real-live-super-base-uri.com/" />
</Parameters>
<ServiceManifestImport>
<ServiceManifestRef ServiceManifestName="MyServicePkg" ServiceManifestVersion="1.0.0" />
<EnvironmentOverrides CodePackageRef="Code">
<EnvironmentVariable Name="SuperWebServiceBaseUri" Value="[MyService_SuperWebServiceBaseUri]"/>
</EnvironmentOverrides>
</ServiceManifestImport>
</ApplicationManifest>