- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个方法(在单独的类库中),由 WebRole 和 WorkerRole 调用。此方法包含文件的路径,使用 Environment.GetEnvironmentVariable("RoleRoot")
返回该路径,如下所示:
private string FooPath()
{
string appRoot = Environment.GetEnvironmentVariable("RoleRoot");
return Path.Combine(appRoot + @"\", @"approot\file.foo");
}
当我从 WorkerRole 调用此方法时,路径会正常返回。但是当我从 WebRole 调用它时,我得到 null
。
有什么想法吗?
编辑:我正在使用 APNS-Sharp 向 iOS 发送推送消息,它需要 .p12 证书才能工作。目前,我的类库的根目录中有 .p12(由 WebRole 和 WorkerRole 调用)。但重点是:为什么当我从 WebRole 调用时 RoleRoot
返回 null,而当我从 WorkerRole 调用时返回路径?
最佳答案
RoleRoot
对于 WebRole 返回 false,因为 WebRole 使用 IIS,就像普通网站一样。这就是为什么很难从 WebRole 获取环境变量。
为了正确获取路径,我必须使用经典的 Server.MapPath 并引用 bin
文件夹,而不是 approot
:
private string FooPathWebRole()
{
string appRoot = HttpContext.Current.Server.MapPath(@"~\");
return Path.Combine(appRoot + @"\", @"bin\file.foo");
}
对于 WorkerRole 没有任何改变:
private string FooPathWorkerRole()
{
string appRoot = Environment.GetEnvironmentVariable("RoleRoot");
return Path.Combine(appRoot + @"\", @"approot\file.foo");
}
此外,我发现Azure不导入p12证书。我必须将其转换为另一种格式,我认为这对我不起作用。因此,最好的选择是将它们放在应用程序的根目录中,并将其构建操作标记为内容。
关于azure - Environment.GetEnvironmentVariable ("RoleRoot")在 WebRole 中调用时返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6131340/
我有一个 xml 文件,我想从中读取 string xmlTemplatePath = Path.Combine(Environment.GetEnvironmentVariable("RoleRoo
我有一个 xml 文件,我想从中读取 string xmlTemplatePath = Path.Combine(Environment.GetEnvironmentVariable("RoleRoo
我有一个方法(在单独的类库中),由 WebRole 和 WorkerRole 调用。此方法包含文件的路径,使用 Environment.GetEnvironmentVariable("RoleRoot
我正在尝试为 Windows Azure 创建一个辅助角色项目,该项目在启动时加载自定义 EXE。我改编了 David Chou 的 Jetty 服务器示例中的代码: http://blogs.msd
我是一名优秀的程序员,十分优秀!