标签: azure-web-roles

Environment.GetEnvironmentVariable("RoleRoot")在WebRole中调用时返回null

我有一个方法(在一个单独的类库中),由WebRole和WorkerRole调用.此方法包含使用的文件路径Environment.GetEnvironmentVariable("RoleRoot"),如下所示:

private string FooPath()    
{
    string appRoot = Environment.GetEnvironmentVariable("RoleRoot");
    return Path.Combine(appRoot + @"\", @"approot\file.foo");
}
Run Code Online (Sandbox Code Playgroud)

当我从WorkerRole调用此方法时,路径将正常返回.但是当我从WebRole调用它时,我得到了null.

有任何想法吗?

编辑:我使用APNS-Sharp向iOS发送推送消息,它需要一个.p12证书才能工作.目前我在我的类库的根目录中有.p12(由WebRole和WorkerRole调用).但重点是:RoleRoot当我从WebRole调用它时为什么返回null但是当我从WorkerRole调用时返回路径?

azure azure-web-roles webrole

7
推荐指数
1
解决办法
6110
查看次数

Azure上的Orchard性能

使用http://docs.orchardproject.net/Documentation/Deploying-Orchard-to-Windows-Azure我已成功将Orchard部署到Azure中.

每20分钟左右没有活动(app pool recycle?),渲染页面需要几分钟.我在Azure中运行Extra Small实例.Web实例,存储和SQL数据库都在同一个数据中心 - 东南亚.

有一个名为keepalive的模块,它执行常规ping操作.

http://blog.smarx.com/posts/controlling-application-pool-idle-timeouts-in-windows-azure

同时关闭Debug(!)并完全信任,如此处所述http://docs.orchardproject.net/Documentation/Optimizing-Performance-of-Orchard-with-Shared-Hosting

将尝试设置/预热页面..

ping似乎很重 - 我错过了什么吗?

azure orchardcms azure-web-roles

7
推荐指数
2
解决办法
1894
查看次数

部署后自动启动Azure webrole

A有一个天蓝色的webrole,带有测试页面和该角色的服务.发布角色后,它不会自动启动,仅在首次使用时启动.因此,如果角色由于某种原因而关闭,那么之后的第一次使用是非常缓慢的.

有没有办法让webroles在部署后立即自动启动(第一次或迁移后)?

deployment iis azure azure-web-roles

7
推荐指数
1
解决办法
2802
查看次数

Azure CDN - 使用ETag启用HTTP 304缓存 - 托管Web角色

我们正尝试在Azure CDN上通过ETag 启用HTTP压缩(gzip)和HTTP 304缓存.我们已经发现启用Azure CDN压缩的问题,但现在我们无法同时使用压缩和ETag缓存(304s).此问题已在此处发布到Azure论坛.

以下是压缩但不可缓存的HTTP(304)链接的示例:

https://xxxx.vo.msecnd.net/resourceManager.axd?token=HL80vX5hf3lIAAA&group=core.js

以下是可缓存(304)但不可压缩(gzip)链接的示例:

https://xxxx.vo.msecnd.net/resourceManager.axd?token=HL80vX5hf3lIAAA&group=core.png

有谁知道如何在Azure CDN上一起使用HTTP缓存(304s)HTTP压缩

http-compression azure http-caching azure-web-roles azure-cdn

7
推荐指数
1
解决办法
1942
查看次数

实现azure colocated缓存

使用VS2012我从WebRole属性缓存选项卡添加了缓存功能.其中,它在web.config中生成以下XML:

  <dataCacheClients>   
     <tracing sinkType="DiagnosticSink" traceLevel="Error" />
     <dataCacheClient name="default">
         <autoDiscover isEnabled="true"  identifier="[cluster role name]"/>
         <!-- <localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" /> -->
     </dataCacheClient> 
    </dataCacheClients>
Run Code Online (Sandbox Code Playgroud)

好,太棒了.我将[cluster role name]替换为webrole的名称,例如"helloworld.web".现在,当我创建DataCacheFactory或DataCache对象时:

  _dataCacheFactory = new DataCacheFactory();
    _defaultCache = _dataCacheFactory.GetDefaultCache();

    //Or, just this line
    _defaultCache = new DataCache(@"default");
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Microsoft.ApplicationServer.Caching.DataCacheException was unhandled
  HelpLink=http://go.microsoft.com/fwlink/?LinkId=164049
  HResult=-2146233088
  Message=ErrorCode<ERRCA0021>:SubStatus<ES0001>:Server collection cannot be empty.
  Source=Microsoft.ApplicationServer.Caching.Client
  ErrorCode=21
  SubStatus=-1

Some notes: 
IDE: VS2012,
Framework: 4.0
AzureSDK: June2012
Local dev machine
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

编辑

我得到了它的工作!

我在WebRole OnStart方法中创建了DataCacheFactory,我将它移到了Global.asax中的Application_Start,它似乎正在工作.

Sandrino解释了为什么会出现这种情况:https://stackoverflow.com/a/11886136/1374935

c# azure azure-web-roles azure-caching

7
推荐指数
1
解决办法
2781
查看次数

如何在构建期间从Visual Studio调用aspnet_compiler?

我希望Visual Studio 预编译我的ASP.NET应用程序,该应用程序用作Azure Web角色有效负载.所以我发现这篇文章解释了如何调用aspnet_compiler来验证视图.

我尝试将以下内容添加到我的ASP.NET应用程序的"post-build event"中:

call "%VS100COMNTOOLS%\vsvars32.bat"
aspnet_compiler -v / -p $(ProjectDir)
Run Code Online (Sandbox Code Playgroud)

或者这个(显式指定的应用程序名称):

call "%VS100COMNTOOLS%\vsvars32.bat"
aspnet_compiler -v /ASP.NET-Application-ProjectNameHere -p $(ProjectDir)
Run Code Online (Sandbox Code Playgroud)

在构建运行的两种情况下,我在构建输出中看到以下内容:

Setting environment for using Microsoft Visual Studio 2010 x86 tools.
Utility to precompile an ASP.NET application
Copyright (C) Microsoft Corporation. All rights reserved.
Run Code Online (Sandbox Code Playgroud)

并且显然没有预编译,因为如果我将任何.aspx或.cshtml文件"Build Action"更改为"None",它将无法访问Azure服务包,并且一旦将包部署到Azure,该视图就不再打开.

如何在Visual Studio中设置aspnet_compiler以进行预编译?

.net asp.net azure visual-studio-2010 azure-web-roles

7
推荐指数
1
解决办法
3494
查看次数

Windows Azure实例究竟是什么?

在Windows Azure门户上(截至2013年1月)当我将Windows Azure网站实例从1扩展到6时,我会得到什么?这是否意味着我的网站将在同一台服务器上有6个物理实例?在IIS术语中有6个运行的网站都自动负载均衡?

但从帮助文本来看,它将实例称为进程?如果是这样,我的网站将获得6个CPU,RAM或什么?

Windows Azure门户

干杯

cloud azure azure-web-roles azure-web-sites

7
推荐指数
1
解决办法
4024
查看次数

Azure网站ftp上传在某些文件上失败,但在其他文件上失败

我已经尝试将ASP.Net MVC站点上传到Azure网站帐户,我遇到了一个严重的问题.大多数文件将传输正常,但一些将永远失败.麻烦的是它总是相同的文件失败,我无法弄清楚为什么.我尝试使用FTP和"Web部署"方法从Visual Studio部署,我尝试通过FileZilla使用FTP和FTPS,并遇到同样的问题.我可能做错了什么???

这是我看到的错误的FileZilla日志.

Status: Resolving address of waws-prod-blu-003.ftp.azurewebsites.windows.net
Status: Connecting to 137.117.88.16:21...
Status: Connection established, waiting for welcome message...
Response:   220 Microsoft FTP Service
Command:    USER xxxxx\xxxxxxxx
Response:   331 Password required
Command:    PASS *********
Response:   230 User logged in.
Command:    OPTS UTF8 ON
Response:   200 OPTS UTF8 command successful - UTF8 encoding now ON.
Status: Connected
Status: Starting upload of C:\websites\HSDeploy\css\bootstrap.min.css
Command:    CWD /site/wwwroot/css
Response:   250 CWD command successful.
Command:    TYPE A
Response:   200 Type set to A.
Command: …
Run Code Online (Sandbox Code Playgroud)

ftp azure azure-web-roles

7
推荐指数
2
解决办法
3933
查看次数

缺少Microsoft.WindowsAzure.Diagnostics程序集

我的WebRole尝试启动时出现以下异常:

{"无法加载文件或程序集'Microsoft.WindowsAzure.Diagnostics,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.找到的程序集的清单定义与程序集引用不匹配.(例外情况HRESULT:0x80131040)":"Microsoft.WindowsAzure.Diagnostics,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35"}

我将Visual Studio 2012与Azure SDK 2.1一起使用

.net c# azure azure-web-roles

7
推荐指数
3
解决办法
1万
查看次数

如何在发布期间定位.Net 4.5.2时绕过警告

我的Azure服务目标是.Net 4.5.2并且在dev中运行良好.但是,build会产生警告:

警告项目"SurfInfoWeb"的目标是.NET Framework 4.5.2.要确保角色启动,必须​​在虚拟机上为此角色安装此版本的.NET Framework.如果尚未作为Microsoft Azure来宾操作系统的一部分安装,则可以使用启动任务来安装所需的版本.

我相信这些(本地)警告会导致发布立即失败(这些是错误列表中的唯一警告).

根据MS,4.5.2应该在2016年1月上市(我不确定到底是什么日期,但我以为我读过1月12日或1月16日).

我无法以正常方式抑制这些警告,因为它们没有警告代码.

1)Azure上实际可用.Net 4.5.2

2)有没有办法抑制没有代码的警告?

3)我还没想到的其他东西?

我正在使用SDK 2.8.1.OSVersion ="*".

.net azure azure-web-roles

7
推荐指数
1
解决办法
2129
查看次数