首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET通用提供程序+ Azure CSCFG

ASP.NET通用提供程序+ Azure CSCFG
EN

Stack Overflow用户
提问于 2012-08-01 11:07:05
回答 1查看 300关注 0票数 1

在Hanselman关于新的ASP.NET通用提供者的帖子之后:http://www.hanselman.com/blog/IntroducingSystemWebProvidersASPNETUniversalProvidersForSessionMembershipRolesAndUserProfileOnSQLCompactAndSQLAzure.aspx

您如何将其配置为读取CSCFG文件的连接字符串,而不是web.config?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-01 12:02:41

我不认为您可以让通用提供程序从ServiceConfiguration (与web.config相反)中读取。但是,您可以做的是在每次部署应用程序时或每次修改web.config时使用ServiceConfiguration中的信息修改ServiceConfiguration。

在您的WebRole.cs中,您首先需要编写一些代码来完成此任务。有一个topic on MSDN可以解释如何做到这一点:

  • Run in
  • Reference %WINDIR%\system32\inetsrv\Microsoft.Web.Administration.dll
  • Write
  • in

OnStart method (您需要更改以下代码):

使用(var server = new ServerManager()) { //获取站点的web配置var siteNameFromServiceModel = "Web";//为您的站点更新此站点名称。var siteName = string.Format("{0}_{1}",RoleEnvironment.CurrentRoleInstance.Id,siteNameFromServiceModel);var siteConfig = server.SitessiteName.GetWebConfiguration();//获取var appSettings段var appSettings =var .ToDictionary(e => (String)e“=>”,e=>(String)e“.ToDictionary”);//重新配置机器密钥var=>=var machineKeySection =varmachineKeySection.SetAttributeValue("validationKey",appSettings"validationKey");machineKeySection.SetAttributeValue(“validationKey”,appSettings“validationKey”);machineKeySection.SetAttributeValue(“validationKey”,appSettings"decryptionKey");machineKeySection.SetAttributeValue("decryptionKey",appSettings“decryptionKey”);server.CommitChanges();}

现在,本主题没有介绍对ServiceConfiguration的更改(假设您在没有重新部署的情况下修改了门户中的连接字符串)。这就是为什么您还需要处理RoleEnvironment.Changing事件,以更新此类更改的配置(您还可以在此处阻止实例重启)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11752039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档