我在 VS 2012 上使用 .net 4.5 创建了一个云项目。它由两个 Web 角色、一个 API 和一个前端网站组成。
我已按照此处的说明进行操作:http://msdn.microsoft.com/en-gb/library/windowsazure/gg443832.aspx以设置远程桌面并部署该服务。
当我尝试连接时(我对凭据进行了两次和三次检查),我被告知“用于连接的凭据不起作用”。请输入新的凭据。
我的 Web 角色都可以运行,并且我可以在浏览器中访问它们。
我尝试在部署后等待一段时间以传播更改,但这没有什么区别。我唯一能想到的是,除了下载适当的位以便从 Visual Studio 进行部署之外,我还没有对证书进行任何操作。我找不到任何说明我需要这样做的文档。
我也尝试过向用户名添加各种域,但没有任何效果。
我是否遗漏了什么,或者目前天蓝色有可能存在错误吗?
编辑:现在尝试从 Visual Studio 中删除云项目,删除 azure 中的云服务并仅使用单个 Web 角色重新部署。仍然看到问题所在。
云服务 Web 角色上是否有任何包含出站流量详细信息的日志?
我想检查过去向第三方 Web 服务发出的 http 请求。
快速总结我的情况以提供一些背景信息:
我有一个保留IP。
网站使用HttpClient向第三方web服务POST请求,需要对Reserved IP进行授权。
我已经使用 Web 角色大约 6 个月了,但昨天我遇到了一个问题,所有对第三方的请求突然停止被授权。
RDP 到服务器并浏览到http://www.whatismyip.com/显示保留 IP 仍在使用中。
我必须快速解决问题并重新启动云服务;之后,现在再次授权向第 3 方发出请求。
第三方坚称他们的服务没有遇到任何问题,但不幸的是,他们会提供更多信息来帮助我解决问题。
现在我试图找出问题的原因。
关于如何解决出站流量请求的任何建议将不胜感激。
我有许多 Web 应用程序都在 azure 中,所有的 Web 角色。
所有这些之前都已经发布过很多次,但是当我现在尝试发布其中任何一个时,我都失败了。反馈是:
值不能为空,参数名称:s。
我认为这可能与 Microsoft 的更新 KB3211320 有关,因为在此更新之前一切正常。不幸的是,它无法卸载并且系统还原失败。
Azure WebRole 部署失败:
我想按照预定的时间表运行一个Azure实例(例如,美国东部时间晚上9点到周五,周一至周五),以减少计费,我想知道最好的方法是什么.
问题的两个部分:
[1] - http://blogs.msdn.com/b/gonzalorc/archive/2010/02/07/auto-scaling-in-azure.aspx
我有一个Windows Azure托管的MVC3应用程序.在Application_Start中,我调用所有需要在应用程序加载之前运行的引导程序,并且运行良好.其中一个运行的bootstrappers,点击一些Web服务API来预加载和缓存一堆数据.这个过程可能需要10-15秒,这很好,因为它在Application_Start中,并且在我自己部署和点击网站后一次点击.
该网站尚未推出,我发现一旦我部署并点击一下,一切都很好,非常快,那么如果我单独离开网站45分钟左右再回到它,有一个加载页面时长时间延迟.通过日志记录,我发现Application_Start正在被解雇,我不得不等待站点重新启动并运行我的所有bootstrappers.
我的问题是,如果不活动,Azure WebRole"进入睡眠状态"是否正常?如果是这样,我怎么能阻止这种情况发生,以便我的幸运用户访问该网站的那段时间没有太长的等待时间和糟糕的经历.
我在确定有效扩展云服务的正确配置方面遇到了一些困难.我假设我们只需要使用管理门户的规模部分而不是以编程方式进行任何操作?我目前的Web角色配置是
中型VM(4 GB RAM)自动缩放 - CPUInstance范围 - 1到10Target CPU - 50到80Scale一次上下调整1个时间刻度上下等待时间 - 5分钟
我使用http://loader.io/站点通过向API发送并发请求来进行负载测试.它只能支持50-100个用户.之后我得到超时(10秒)错误.我的应用程序将大规模地针对数百万用户,所以我不确定如何有效地扩展以满足服务器上的那么多负载.
我认为问题可能是扩展时间是5分钟(我认为它非常高),而在管理门户网站中,最低选项是5分钟,所以不知道如何减少它?
有什么建议?
我正在使用Azure云,并尝试实现主要是IO绑定的可伸缩HTTP服务器。
澄清:举个例子,假设服务器是一个“ blob代理”,即客户端连接,服务器从Azure存储下载一个blob并将其流式传输到客户端。而已。
我的目标当然是从一台计算机上压缩最多的并发客户端。
向node.js学习
看来node.js非常适合此类问题。服务器只做IO。节点是完全异步的,在一台计算机上可能达到10,000个并发。
我最终选择了使用node.js来支持c#和.net框架,并且我正在尝试实现与c#所提供的功能类似的策略。我不是要复制节点-只是复制它的方法。
我在Azure上的C#实现
目前,我有一个Azure云服务,其中包含IIS上的瘦Web角色。这里是MyHandler.ashx:
public class MyHandler : HttpTaskAsyncHandler
{
public override async Task ProcessRequestAsync(HttpContext context)
{
CloudBlockBlob blob = GetBlockBlobReference(...);
await blob.DownloadToStreamAsync(context.Response.OutputStream);
}
}
Run Code Online (Sandbox Code Playgroud)
我的路由很简单Web.config:
<system.webServer>
<handlers>
<add verb="*" path="*" name="MyHandler" type="MyWebRole.MyHandler" />
</handlers>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
讨论:
我希望.net 4.5的新async / await API与node.js中的JS一样异步,并且非常易于使用。这个假设有什么严重的错误吗?
为了使并发数量最大化,应该对Azure Web角色进行哪些调整/优化?
我听说我必须增加最大连接数,因为它默认仅为12 * num核心。这是真的,它是如何做到的?
我应该做些什么来更改默认线程池吗?
还有其他重要提示/调整/优化吗?
我应该完全删除IIS吗?我可以在工作角色中托管一些“更精简”的服务器实现。相对于IIS,这能否显着提高性能?值得麻烦吗?
总的来说,我走对了吗?有没有更好的方法用c#/。net做到这一点?
我正在尝试执行从http到https重定向/重写流量的"简单"任务,我在CloudService中有一个端点,该端点已正确配置为SSL.
我尝试了很多IIS重写规则,如下所示,但都没有.我也尝试直接在IIS 8服务器上通过远程桌面设置规则,这也是行不通的.
当我在Azure web.config文件中输入任何标记时,重写标记下面有一条蓝线,并在下面显示一条消息<system.webServer>:
<system.webServer>
...
<rewrite>
<rules>
<rule name="RedirectToHTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{SERVER_NAME}/{R:1}" redirectType="SeeOther" />
</rule>
</rules>
</rewrite>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
任何建议都非常感谢.
目标:这是关于支付一个WebRole实例但是演示/测试多个站点什么是完全独立的VS项目(ASP MVC 5,但这无关紧要).站点的区别不是端口号而是域(主机)名称)
也许我想要太多,但通过按主机名(或IP或端口)配置IIS站点,可以使用IIS轻松完成.
我理解(并且可以接受)限制,这些不同的VS项目必须在VS解决方案中一起存在,并且不能独立部署,我想存在一个包含所有配置元信息的常见Azure项目.
工具:VS 2013(Premium)和Azure工具2.2
现在我有一个包含2个项目的解决方案:MySite(一个ASP MVC 5项目)MySite.Azure
我想添加第二个MVC项目,并希望修改MySite.Azure中的配置和其他文件以部署MySite和MySite2,我想为MySite和MySite2分配不同的主机名.(我做知道如何使用我的DNS提供商我的主机名,分配给我的Azure的IP,请想这是已经完成)
如果无法通过主机名区分,仍然可以通过端口号区分?
我试图在Azure表服务中插入多行.就本文而言,我已经理解了分区键能够存储重复项.但是,在阅读本文后,当我尝试插入重复的分区键时,出现错误:
The remote server returned an error: (409) Conflict.
Run Code Online (Sandbox Code Playgroud)
我的代码可能有什么问题?我按照第二篇文章关注它; 或者我的理解不正确?此外,第一篇文章说行键应该作为主键.第二篇文章说我可以硬编码为例子.这让我感到困惑的是什么是完全正确的.这两篇文章都发布在可靠的网站上.我正在使用VS2013的azure试用帐户.我错过了什么?
azure-web-roles ×10
azure ×9
.net ×1
c# ×1
concurrency ×1
hotfix ×1
iis ×1
iis-8 ×1
node.js ×1
outbound ×1
scalability ×1