![](/img/trans.png)
[英]How to write connection string in web.config file and read from it?
[英]How to read site's web.config file from Azure WebJob?
我使用自定義web.config配置元素為我的ASP.NET MVC應用程序配置復雜的應用程序服務。 我在Azure WebJob中需要這個配置數據,它與Web應用程序一起部署。 我試圖避免將這些部分從網站的web.config復制到webjob的app.config文件。
因此,除了連接字符串和應用程序設置之外,Azure WebJob還有一種方法可以讀取網站的web.config文件嗎?
理想情況下,我想使用ConfigurationManager.GetSection來創建我的自定義ConfigurationSection實例。
大多數Web應用程序+ Web作業都具有您在配置文件中不需要的敏感設置。 您可以使用ARM / PS部署這些機密,請參閱將機密部署到Azure 。 所以只需將所有設置添加到ARM / PS腳本中即可。
Azure App設置適用於Web作業和Web應用程序,這是推薦的方法。
這是構建時間的解決方案。 可能這個示例Msbuild腳本會將web.config中的peeked xml元素插入到另一個xml文件中。 請注意,它未經過測試。
<ItemGroup>
<PublishPackages >
<WebConfigXml>
$(YourProjectPath)web.config
</WebConfigXml>
<WebJobConfig>
$(YourWebJobPath)app.config
</WebJobConfig>
</PublishPackages>
</ItemGroup>
<Target Name="InjectConfigs">
<XmlPeek
XmlInputPath="%(PublishPackages.WebConfigXml)"
Query="//parent/someelement">
<Output TaskParameter="Result" ItemName="Peeked" />
</XmlPeek>
<XmlPoke
XmlInputPath="%(PublishPackages.WebJobConfig)"
Query="//parent/someelement"
Value="$(Peeked)"
Condition =" '$(Peeked)'!=''"
/>
</Target>
</Project>
這些文檔可以提供幫助: 為Web包部署配置參數 , XmlPeek任務如果XmlPoke和XmlPeek不采取另一種方式,那就是使用XmlFile任務 。 希望能幫助到你!
UPDATE。 更改為僅使用XmlPeek和XmlPook而不使用XmlFile。
我們用於此類似目的的一種方法是將所有常見配置放在Azure中的表存儲帳戶上,並構建一個幫助程序類,從我們所稱的“運行時配置”中讀取配置,這基本上是一個Azure表存儲中托管的配置數據庫,所有組件都可以讀取該信息...
嘗試使用Microsoft.WindowsAzure.ConfigurationManager
NuGet包中的CloudConfigurationManager
類。
即。 var val = CloudConfigurationManager.GetSetting(key);
我發現這似乎是在Azure上運行時從主機Web App中提取設置。 如果你在本地調試,你仍然需要設置App.config值,我擔心。
編輯:再次重新閱讀您的問題(呃!)並看到您對使用章節的評論。 這個類不支持的AFAIK - 遺憾的是AppSettings部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.