4

我目前正在为非洲市场开发 ASP.NET MVC 4 应用程序,并希望使用以下链接http://msdn.microsoft.com/en-gb/library/system.globalization中详述的步骤注册自定义文化.cultureandregioninfobuilder.register(v=vs.110).aspx。我的大多数目标国家都不在预装的文化中,所以听起来我需要注册这些文化。问题是,我用于注册的控制台应用程序需要管理员权限才能完成文化注册。我假设 Windows azure 不允许开发人员对云服务环境进行管理员控制。

问题:在没有管理员权限的情况下在 Windows Azure 中注册自定义文化的最佳方式是什么。显然有一种方法可以在 Framework 2.0 上使用cultureandregioninfobuilder.compile 方法执行此操作,但这不是受支持的方法。有更好的解决方案吗?不想为了支持不同的语言而为每种文化维护不同的项目解决方案。

提前致谢。

4

1 回答 1

1

您可以创建一个以提升的权限运行的启动任务,还可以在有限的上下文中运行您的应用程序。您的服务配置文件应如下所示:

 <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 文件中使用环境变量“CULTURE”,将其用作执行该工作的 .NET 可执行文件的参数。

于 2013-02-20T23:09:28.677 回答