我目前正在开发一个ASP.NET MVC应用程序4针对非洲市场,并希望注册使用下面的链接详细步骤定制文化http://msdn.microsoft.com/en-gb/library/system.globalization .cultureandregioninfobuilder.register(v = vs.110)的.aspx 。 我的大多数目标的国家都不在预装的文化所以这听起来像我需要注册这些文化。 问题是,我做的注册将需要管理员previlidges完成文化注册控制台应用程序。 我假设的Windows Azure不允许开发者的云服务环境的管理控制。
问:什么是注册在Windows Azure中自定义的文化没有管理员previlidges的最佳方式。 显然有一个办法做到这一点就Framework 2.0中使用cultureandregioninfobuilder.compile方法,但是这不是一个支持的方法。 有没有更好的解决办法? 不要希望有维护每个文化不同的项目解决方案,这样我可以支持不同的语言。
提前致谢。
你可以创建与提升权限的运行启动任务,同时还运行在一个有限的范围内应用。 您的服务配置文件应该是这样的:
<ServiceDefinition name="MyCloudService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-10.1.8">
<WebRole name="MyWebRole" vmsize="Small">
<Runtime executionContext="limited">
</Runtime>
<Startup>
<Task executionContext="elevated" commandLine="scripts\SetupCulture.cmd" taskType="simple">
<Environment>
<Variable name="CULTURE">
<RoleInstanceValue xpath="/RoleEnvironment/CurrentInstance/ConfigurationSettings/ConfigurationSetting[@name='Culture']/@value" />
</Variable>
</Environment>
</Task>
</Startup>
...
</WebRole>
</ServiceDefinition>
这样,你可以注意在服务配置文件中指定所需的文化。 最后,你可以使用环境变量“文化”在你的.cmd文件使用它作为参数传递给.NET可执行做的工作。
我用大卫描述的方法 - 以提升的管理员权限运行的脚本。
为了创建自定义的文化,我用这篇文章如何:保存自定义的文化没有管理权限 。
代码仍然需要尽管说,相反的管理员权限,但是当如上所述执行它的工作原理。
被证明是工作在Azure中Sitecore的项目。