Exponera rollkonfigurationsinställningar som en miljövariabel med XPath

Viktigt

Azure Cloud Services (utökat stöd) är en ny Azure Resource Manager distributionsmodell för den Azure Cloud Services produkten.Med den här ändringen har Azure Cloud Services som körs på den Azure Service Manager-baserade distributionsmodellen bytt namn till Cloud Services (klassisk) och alla nya distributioner bör använda Cloud Services (utökat stöd).

I molntjänstarbetaren eller webbrolltjänstens definitionsfil kan du exponera körningskonfigurationsvärden som miljövariabler. Följande XPath-värden stöds (som motsvarar API-värden).

Dessa XPath-värden är också tillgängliga via biblioteket Microsoft.WindowsAzure.ServiceRuntime.

App som körs i emulatorn

Anger att appen körs i emulatorn.

Typ Exempel
Xpath xpath=" /RoleEnvironment/Deployment/@emulated "
Kod var x = RoleEnvironment.IsEmulated;

Distributions-ID

Hämtar distributions-ID:t för instansen.

Typ Exempel
Xpath xpath=" /RoleEnvironment/Deployment/@id "
Kod var deploymentId = RoleEnvironment.DeploymentId;

Roll-ID

Hämtar det aktuella roll-ID:t för instansen.

Typ Exempel
Xpath xpath=" /RoleEnvironment/CurrentInstance/@id "
Kod var id = RoleEnvironment.CurrentRoleInstance.Id;

Uppdatera domän

Hämtar uppdateringsdomänen för instansen.

Typ Exempel
Xpath xpath=" /RoleEnvironment/CurrentInstance/@updateDomain "
Kod var ud = RoleEnvironment.CurrentRoleInstance.UpdateDomain;

Feldomän

Hämtar feldomänen för instansen.

Typ Exempel
Xpath xpath=" /RoleEnvironment/CurrentInstance/@faultDomain "
Kod var fd = RoleEnvironment.CurrentRoleInstance.FaultDomain;

Rollnamn

Hämtar rollnamnet för instanserna.

Typ Exempel
Xpath xpath=" /RoleEnvironment/CurrentInstance/@roleName "
Kod var rname = RoleEnvironment.CurrentRoleInstance.Role.Name;

Konfigurationsinställning

Hämtar värdet för den angivna konfigurationsinställningen.

Typ Exempel
Xpath xpath="/RoleEnvironment/CurrentInstance/ConfigurationSettings/ConfigurationSetting[ @name ='Setting1'] /@value "
Kod var setting = RoleEnvironment.GetConfigurationSettingValue("Setting1");

Lokal lagringssökväg

Hämtar den lokala lagringssökvägen för instansen.

Typ Exempel
Xpath xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[ @name ='LocalStore1'] /@path "
Kod var localResourcePath = RoleEnvironment.GetLocalResource("LocalStore1"). RootPath;

Lokal lagringsstorlek

Hämtar storleken på den lokala lagringen för instansen.

Typ Exempel
Xpath xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[ @name ='LocalStore1'] /@sizeInMB "
Kod var localResourceSizeInMB = RoleEnvironment.GetLocalResource("LocalStore1"). MaximumSizeInMegabytes;

Slutpunktsprotokoll

Hämtar slutpunktsprotokollet för instansen.

Typ Exempel
Xpath xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[ @name ='Endpoint1'] /@protocol "
Kod var prot = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"]. Protokoll;

Slutpunkts-IP

Hämtar den angivna slutpunktens IP-adress.

Typ Exempel
Xpath xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[ @name ='Endpoint1'] /@address "
Kod var address = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"]. IPEndpoint.Address

Slutpunktsport

Hämtar slutpunktsporten för instansen.

Typ Exempel
Xpath xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[ @name ='Endpoint1'] /@port "
Kod var port = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"]. IPEndpoint.Port;

Exempel

Här är ett exempel på en arbetsroll som skapar en startaktivitet med en miljövariabel med namnet TestIsEmulated inställd på @emulated xpath-värdet.

<WorkerRole name="Role1">
    <ConfigurationSettings>
      <Setting name="Setting1" />
    </ConfigurationSettings>
    <LocalResources>
      <LocalStorage name="LocalStore1" sizeInMB="1024"/>
    </LocalResources>
    <Endpoints>
      <InternalEndpoint name="Endpoint1" protocol="tcp" />
    </Endpoints>
    <Startup>
      <Task commandLine="example.cmd inputParm">
        <Environment>
          <Variable name="TestConstant" value="Constant"/>
          <Variable name="TestEmptyValue" value=""/>
          <Variable name="TestIsEmulated">
            <RoleInstanceValue xpath="/RoleEnvironment/Deployment/@emulated"/>
          </Variable>
          ...
        </Environment>
      </Task>
    </Startup>
    <Runtime>
      <Environment>
        <Variable name="TestConstant" value="Constant"/>
        <Variable name="TestEmptyValue" value=""/>
        <Variable name="TestIsEmulated">
          <RoleInstanceValue xpath="/RoleEnvironment/Deployment/@emulated"/>
        </Variable>
        ...
      </Environment>
    </Runtime>
    ...
</WorkerRole>

Nästa steg

Läs mer om filen ServiceConfiguration.cscfg.

Skapa ett ServicePackage.cspkg-paket.

Aktivera fjärrskrivbord för en roll.