我是Windows Azure的新手,想要托管一个由appr填写的调查应用程序.同时有30.000名用户.
该应用程序由一个.aspx页面组成,该页面将被发送给客户端一次,询问25个问题,并在最后给出给定答案的总结.当用户给出答案并点击"下一个问题"按钮时,给定的答案将通过.ashx处理程序发送到服务器.答案是下一个问题和答案.完整回发后,总结将发送给客户端.答案保存在已分区的Azure表中,以便每个分区最多可容纳450个用户.
我想问一下是否有人可以估计我们需要启动多少个Web角色实例才能让这个应用程序继续运行.(如果这太难说了,是否更有可能启动5,50或500个实例?)
什么是更好的方法:20个小实例或5个大实例?
谢谢你的帮助!
我测试下Azure计算仿真器一个简单的Web角色,并已覆盖OnStart(),Run()并OnStop()在我的课,从派生方法RoleEntryPoint.
OnStart()并且Run()被调用但OnStop()不是 - 我将在Visual Studio中按"停止调试"或关闭浏览器窗口,角色将被终止,但OnStop()永远不会被调用.我已经检查过 - override关键字出现在OnStop()定义中.
这不是很方便 - 这意味着我无法测试我的OnStop()外部云.
我可以以某种方式OnStop()在我的角色中进行Compute Emulator调用吗?
我们的前端MVC3 Web应用程序正在使用AsyncController,因为我们的每个实例都在为数百个长时间运行的IO绑定进程提供服务.
由于Azure会在一些预先确定的时间间隔后终止"非活动"http会话(这似乎取决于您阅读的网站),我们如何保持连接活动?
我们的客户必须保持联系,我们的流程将持续30秒到5分钟或更长时间.我们如何保持客户端连接/活动?我最初想过在Async方法上有一个超时,只是用几个字节的输出来命中Response对象,有点像分块响应,然后再返回等待一些.但是,我不认为这会起作用,因为MVC3正在处理IIS线程与异步响应的连接,异步响应在那时已经呈现了一个视图.
我们如何在AsyncController上运行一个非常长的进程,但是Azure负载均衡器不能断开客户端的连接?向呼叫者发送立即响应,并要求呼叫者轮询或检查其他资源URL是不可接受的.
如何在SQL Server for Asp.net mvc4或Windows Azure Web Role应用程序中存储会话状态?
编辑
为什么会出现此错误?
HTTP错误500.23-内部服务器错误
已检测到ASP.NET设置,该设置不适用于集成托管管道模式。
我的web.config样子是这样的:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="webAssets" type="Telerik.Web.Mvc.Configuration.WebAssetConfigurationSection, Telerik.Web.Mvc" requirePermission="false" />
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<!--
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=aspnet2012620142020;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
-->
<connectionStrings>
<!--<add name="HotDeployDbContext" connectionString="data source=JOE-WANG\WQ;initial catalog=HotDeploy;user id=sa;password=wq187731" providerName="System.Data.SqlClient"/>-->
<!--<add name="HotDeployDbContext" connectionString="data source=tcp:z1782cwqws.database.windows.net,1433;initial catalog=HotDeployDB4CloudService;user id=hotdeployadmin@z1782cwqws;password=accela.123;Trusted_Connection=False;Encrypt=True;Connection …Run Code Online (Sandbox Code Playgroud) 我最近将Azure缓存添加到我的Web角色,并在重新部署实例时挂起以下状态大约30分钟:忙碌(等待角色启动...系统启动任务正在运行.[2013-01-25T17:12: 53Z])
然后在实例重试启动之前,使用退出代码-532462766获取系统启动任务失败.
我没有在此错误代码上找到任何内容,并且急需更多信息.
我有一个托管4个MVC 4站点的Web角色.其中一个站点(从现在开始称之为API站点)使用MVC和Web API.当我升级Web角色时,API站点中的Web API控制器会向所有请求返回500内部服务器错误.MVC控制器按预期工作,我知道请求至少要达到global.asax的Application_BeginRequest方法.我在Elmah日志中没有看到任何记录.我遇到的任何错误的唯一提示是事件日志中的以下内容:
属于站点"1"的应用程序"/"具有无效的AppPoolId"DefaultAppPool"集.因此,应用程序将被忽略.
由于Web角色使用带有guid作为标识符的App Pool,我不知道它来自何处.
最令人困惑的是,一旦我为API站点(这是一个guid)回收应用程序池,一切都开始正常工作.
我已经尝试将应用程序池重新命名为角色的启动任务的一部分,但这似乎没有任何区别.
有关如何使Web API正确启动的任何建议?
在我们的一个Azure角色中,我们有一个日志,该日志由于来自MS的IP地址的常规HTTP请求(Get /)而累积了许多HTTP 404错误。
这是Azure角色运行状况监视的“流量”部分吗?我们没有控制者/动作来响应该请求。我希望不要不必要地打开那扇门,但是如果我可以明确地将其标识为Azure运行状况监视,那么我至少可以在登录时将其过滤掉。
我安装了更新3的Visual Studio 2013.在我第一次打开我的项目时,它促使我下载并安装Azure SDK 2.2,所以我做了.当我尝试构建时,它失败并给我这个错误消息:
错误109 WAT080:找不到Windows Azure SDK.请确保已安装Windows Azure SDK v2.1.
所以我安装了SDK 2.1,但构建仍然失败并出现相同的错误.这些是我安装的azure SDK:2.1,2.2,2.3,2.4.我还确认这里不缺少每个版本的文件夹:C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v12.0\Windows Azure Tools
我们在2013年第3季度启动了云计划,这是一个MVC站点,当时Windows Azure 2.2发布了,我没有遇到任何问题.
这些Azure SDK是否可能存在冲突?
注意:这与检测本地运行和Azure角色的问题不同,我理解已经回答了这个问题.
我有一个我部署到Azure的APS.NET MVC应用程序.我正在运行Azure工具的V2.5.我希望能够检测代码运行的以下三种情况中的哪一种:
本地(在IIS上调试),Azure网站或Azure Web角色
我在其他帖子中看到了使用以下内容的建议:
RoleEnvironment.IsAvailable
Run Code Online (Sandbox Code Playgroud)
然而,这对我的需求来说似乎是一个不完整的解决方案.它似乎检测代码是在本地运行还是作为Web角色运行没有问题.但是,它似乎没有涵盖检查作为天蓝色网站运行的情况.它不仅不包括这个,而且在Azure网站上运行时尝试检查该属性会使其爆炸:
mscorlib.dll中发生了'System.IO.FileLoadException'类型的第一次机会异常
Additional information: Could not load file or assembly
'Microsoft.WindowsAzure.ServiceRuntime, Version=2.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.
The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Run Code Online (Sandbox Code Playgroud)
那么,谁能告诉我如何检测这三种情况?
我已经在我的网络角色上启用了流量管理器和监控设置,现在我的应用程序洞察使用情况完全无法使用(从Internet Explorer或Windows NT 24小时内的11次展示)并将其标记为"真实用户流量"?SMH.
进一步的伤害是从刀片"过滤"路由名称的糟糕的UX,特别是当我有几十个无法保存的端点时.我也没有找到出口到.pdf的方法,以便我可以与顾问和/或投资者分享.我可以将所有这些数据导出到JSON并创建我自己的报告/分析,以便花时间,资源和资金来重新创建已创建的内容以及我已经支付的内容?不计算.
有没有办法在特定端点或路由上设置MVC属性/过滤器,以便它不参与任何Application Insights服务器请求跟踪? 或者这太简单了?
c# azure azure-web-roles azure-traffic-manager azure-application-insights