2012-05-03 14 views
10

मैं अपने ServiceDefinition.csdef फ़ाइल को यह जोड़ने की कोशिश की:विंडोज एज़ूर: मैं एक पर्यावरण चर के रूप में एक कॉन्फ़िगरेशन सेटिंग का पर्दाफाश कैसे करूं?

<WorkerRole ...><Runtime><Environment> 
    <Variable name="AZURE_STORAGE_ACCOUNT"> 
     <RoleInstanceValue xpath="/RoleEnvironment/CurrentInstance/ConfigurationSettings/ConfigurationSetting[@name='AZURE_STORAGE_ACCOUNT']/@value" /> 
    </Variable> 
</Environment></Runtime></WorkerRole> 

और मैं विन्यास मेरी ServiceConfiguration.Cloud.cscfg फ़ाइल में सेटिंग सेट:

<Role name="WorkerRole"> 
    <ConfigurationSettings> 
    <Setting name="AZURE_STORAGE_ACCOUNT" value="<secret stuff>" /> 
    </ConfigurationSettings> 
</Role> 

लेकिन मैं निम्नलिखित त्रुटि हो गया, जब मैं रन cspack:

CloudServices091 : The '/RoleEnvironment/CurrentInstance/Configur 
ationSettings/ConfigurationSetting[@name='AZURE_STORAGE_ACCOUNT']/@value' is an 
invalid xpath expression. 
+2

अपने आप में यह सवाल पर्याप्त था लगता है मुझे लक्ष्य पर लाने के लिए, अंतर्निहित उत्तर का पर्याप्त जवाब था। +1! –

उत्तर

0

कॉन्फ़िगरेशन सही प्रतीत होता है। यह बेहतर होगा अगर आप यह सुनिश्चित कर सकें कि आप नवीनतम एसडीके का उपयोग कर रहे हैं। एक्सपैथ सुविधा विंडोज एज़ूर एसडीके 1.5 और बाद में उपलब्ध है।

सर्वश्रेष्ठ सादर,

मिंग जू।

+0

मैं संस्करण 1.6 का उपयोग कर रहा हूँ। –

8

क्या आप उस सेटिंग की घोषणा खो रहे हैं? मुझे आपके .csdef में उचित तत्व दिखाई नहीं देता है, <ConfigurationSettings><Setting name="AZURE_STORAGE_ACCOUNT"/></ConfigurationSettings> जैसे कुछ। आपको अपने .csdef में से किसी एक की आवश्यकता है, और फिर भी आप अपने .cscfg में से एक चाहते हैं जिसमें मूल्य शामिल है।

यदि आप विजुअल स्टूडियो का उपयोग कर रहे हैं, तो यदि आप इसके प्रॉपर्टी व्यू का उपयोग करते हैं तो इसे आपके लिए दोनों फाइलों को संपादित करना चाहिए। (बस भूमिका पर डबल क्लिक करें और फिर कॉन्फ़िगरेशन सेटिंग्स प्राप्त करने के लिए चारों ओर क्लिक करें और एक नया जोड़ें।)

-1

मैंने ब्लॉग पर उल्लिखित विभिन्न विकल्पों की कोशिश की है, जैसे .cscfg और .csdef दोनों में सेटिंग शामिल है। लेकिन, यह काम नहीं लग रहा है। साथ ही, अन्य Xpath सही ढंग से की तरह

 <RoleInstanceValue xpath="/RoleEnvironment/CurrentInstance/@id"/> 

काम प्रश्नों।

अंत में, मैं पता लगा कि चर इस्तेमाल किया नाम अलग था:

cscfg में मैं था:

<Setting name="WFFEPeriodicRestartTime" value="168:00:00" /> 
csdef में

मैं था:

<ConfigurationSettings> 
     <Setting name="PeriodicRestartTime" /> 
    </ConfigurationSettings> 

.... ....

<Variable name="PeriodicRestartTime"> 
      <RoleInstanceValue xpath="/RoleEnvironment/CurrentInstance/ConfigurationSettings/ConfigurationSetting[@name='WFFEPeriodicRestartTime']/@value" /> 
    </Variable> 

बदला गया csdef रहे हैं:

<ConfigurationSettings> 
     <Setting name="WFFEPeriodicRestartTime" /> 
    </ConfigurationSettings> 

.... ....

<Variable name="WFFEPeriodicRestartTime"> 
      <RoleInstanceValue xpath="/RoleEnvironment/CurrentInstance/ConfigurationSettings/ConfigurationSetting[@name='WFFEPeriodicRestartTime']/@value" /> 
      </Variable> 

अब यह सही ढंग से काम करने के लिए