问题标签 [webrole]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1644 浏览

azure - 使用虚拟应用程序托管 azure Web 角色会发送整个项目并且不处理配置转换

这是一个相当冗长的问题,但它确实很好地解释了它。

我有一个 Web 角色,它有一个根站点,可以转发到该站点下的虚拟应用程序。我的项目在本地运行良好,在云中几乎可以完美运行。我正在使用新的构建配置来让我的网站的 web.config 在 Azure 上运行(因为我需要使用 sql 会话状态)。

无论如何,在检查我的托管站点后,我可以分别在文件夹 0、1、2 中看到 3 个站点。0 代表我的根目录,该文件夹的内容是托管应用程序的最小内容,只有我的 bin、default.aspx、packages 和 web.config。这很好用,我可以通过密切关注数据库中的会话来看到它的工作原理。

但是,当检查代表虚拟应用程序的其他(相同)文件夹中的任何一个时,我可以在那里看到整个 Visual Studio 项目。代码文件、web.config 转换等。此外,实际上并未处理转换。整个项目就被扔在那里了。

我已使用 Visual Studio 2010 将我的应用程序发布到我的 Web 角色。我在那里的设置中看不到任何明显的东西来控制这种行为。如果有帮助,这是我的服务定义文件的一部分。

那里也有配置设置,但我省略了它们。非常感谢您在这里提供的任何帮助。

编辑 1 这是我的解决方案中的 windows azure 项目的项目文件,在此处详细说明的更改被实施后:http: //michaelcollier.wordpress.com/2013/01/14/multiple-sites-in-a-web-role /

为了进行编译,我必须在我的 bobblejob.com 文件夹中手动创建一个文件夹“azure.publish”。错误是否可能是您所说的构建只应在 IsExecutingPublishTarget 为真时运行?我希望它在我的开发盒以及我设置的任何和所有部署上运行......

-- 11/09/13 - 这仍然是一个问题。有没有人有解决方案?

0 投票
2 回答
1396 浏览

azure - Azure LoadBalancerProbe 响应被忽略

我为我的 webrole 定义了一个自定义 LoadBalancerProbe,如下所示

<?xml version="1.0" encoding="utf-8"?> <ServiceDefinition name="CloudService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2013-03.2.0"> <LoadBalancerProbes> <LoadBalancerProbe name="MyProbe" protocol="http" intervalInSeconds="15" path="/api/ping" port="80" timeoutInSeconds="30" /> </LoadBalancerProbes> <WebRole name="TestApp" vmsize="Small"> <Sites> <Site name="Web"> <Bindings> <Binding name="Endpoint1" endpointName="Endpoint1" /> </Bindings> </Site> </Sites> <Endpoints> <InputEndpoint name="Endpoint1" protocol="http" port="80" localPort="80" loadBalancerProbe="MyProbe"/> </Endpoints> <Imports> <Import moduleName="Diagnostics" /> <Import moduleName="RemoteAccess" /> <Import moduleName="RemoteForwarder" /> </Imports> </WebRole> </ServiceDefinition>

在 Azure 中,我有 2 个实例。我启用了 trace.axd 并且可以看到负载均衡器调用 ping 方法,所以这肯定会发生。

当我希望我的实例出现关闭时(我更改实例上的配置设置),我还可以在我的测试应用程序中看到我的“503”响应(服务器不可用)。我可以从负载均衡器中看到自定义 HTTP 标头X-MS-LB-MonitorStatus Down

当我使用 Curl 请求访问负载均衡的 url 时,它总是返回正确的结果(如果我将实例设置为返回 503 而不是 200,它不会出现在响应结果中)。

但是,当我使用浏览器(在本例中为 Chrome)时,我仍然可以从应该关闭的实例返回结果(即实例可用,我禁用它,然后对负载平衡 url 的其他调用仍然解析为“禁用”实例)。

我可以使用 trace.axd 信息确认解决每个请求的实际实例

我很难相信天蓝色在这里正确地进行了负载平衡。

  1. 为什么浏览器继续能够访问一个应该不旋转的实例?
  2. 为什么 curl “总是做对了”?
0 投票
1 回答
1077 浏览

c# - TFS Azure 部署构建找不到依赖程序集 Microsoft.Exchange.WebServices.dll

我在 TFS 上的 Azure 部署脚本在部署到 Azure 时始终无法找到程序集 Microsoft.Exchange.WebServices.dll。

我总是收到以下警告:

项目“...”依赖于以下程序集:C:\a\src\Portal\Dev\packages\EWS-Api-2.0.1.0.1\lib\net35\Microsoft.Exchange.WebServices.dll。该组件不在包装中。要确保角色启动,请将此程序集添加为对项目的引用,并将 Copy Local 属性设置为 true。

但是,我们的持续集成构建脚本没有收到此警告。该程序集通过 NuGet 包 EWS-Api-2.0 添加到我的 Web 项目中。

我确认在程序集引用上将本地复制设置为 true,并且在项目文件中正确设置了提示路径,并且下面指定的路径已添加到 TFS。

我似乎有很多人在类似的问题上发帖,但我找到的解决方案都没有适用或纠正这个问题。我使用诊断日志运行构建,但没有找到任何有价值的东西来指出可能导致问题的原因。

有人有什么建议吗?

0 投票
0 回答
137 浏览

azure - 在 VS2013 中远程调试 Azure Webrole 入口点

我试图通过打断点来调试 RoleEntryPoint 中的 OnStart。在 Visual Studio 2013 中,我设法在我的 Azure 云服务上进行远程调试,但是入口点有点难以命中,因为它是在启动和停止服务时执行的(IE。重新部署 WebRole)

这可能吗,怎么做?

0 投票
0 回答
2227 浏览

azure - Azure webrole 无法启动,出现 500 错误,无法读取配置文件:applicationHost.config

我只是分享这个,以防其他人遇到同样的问题。在更新我的 Azure 引用以响应 2013 年 12 月 9 日的 GuestOS 强制更新(禁用了我们的生产云)

如果您正在诊断为什么 web 角色没有启动以在本地模拟您的天蓝色云,您可以检查事件查看器,然后在 Windows 日志 -> 应用程序下查找 IIS Express 错误......我得到了这个:

应用程序池“5665782e-ae77-4547-8cc2-3a7b3357602d”的工作进程遇到错误“无法读取配置文件”尝试从文件“\?\C:\Users\Mark\AppData\Local\ 读取全局模块配置数据” dftmp\Resources\633952fb-10b8-4b96-b732-ad19eb835438\temp\temp\RoleTemp\applicationHost.config',行号“0”。工作进程启动中止。

结果是,在使用 NuGet 包管理器更新天蓝色引用后,成员资格提供程序、角色提供程序和会话状态的条目重复了。我们没有为这些属性使用默认值,所以这可能是问题的原因......

但是,请检查您的 web.config 是否有重复的属性。这是您的网络角色未说明的潜在原因之一。

0 投票
2 回答
187 浏览

azure - 从 Azure 2.0 升级到 2.2 后,CloudConfigurationManager.GetSettings("...") 总是返回空

我将 Azure 从 2.0 升级到 2.2。在此之后,Microsoft.WindowsAzure.CloudConfigurationManager.GetSetting("...") 总是返回空字符串。此代码在 2.0 版中运行良好。

我的解决方案确实有 nuGet,并且我已经从这里获得了最新版本的 windowsazure.configurationManager。我的解决方案有一个 WebRole 和一个 WorkerRole。WebRole 是我关心的一个,它有以下 ddl 版本:

0 投票
2 回答
527 浏览

azure - 多个云项目发布到同一个 Web 角色

是否可以将多个云项目独立发布到一个 Web 角色?

例如,云项目 A ServiceDefinition.csdef将包含:

项目 B

它们具有不同的<Site>名称并绑定到不同的端点(端口 80 和端口 81)。

0 投票
0 回答
294 浏览

azure - 在 Azure 模拟器下运行 Azure Web 角色时引发 AccessViolationException

我在执行 Azure Web 角色(在 Azure 模拟器上运行,尚未上传到 Azure)期间抛出 System.AccessViolationException,当调用本地 int 变量时对象的重写方法时作为方法参数之一传递。异常消息是“尝试读取或写入受保护的内存。这通常表明其他内存已损坏”。

引发异常的代码是本地库的一部分,该库已在实时系统(不是 Azure)上使用了几年,没有出现任何问题。出错的部分如下:

XmlDataComponent 是一个基类,当代码运行时 item 是它的派生类之一。ToXml() 方法在派生类中被覆盖。调用 ToXml() 后立即引发异常。

问题是索引参数。如果我将其交换为使用显式值而不是局部变量,例如

没有错误。

同样,如果我将项目转换为其实际类型,例如

并将 XmlDataItem 类中的 ToXml() 方法标记为方法而不是覆盖,没有错误。

我还尝试从控制台应用程序而不是具有完全相同数据的 Web 角色调用该库(即除了在 Web 角色下运行之外的所有内容都相同)。同样,这没有引起任何问题。

看来,在 Azure 模拟器下运行时,访问局部变量作为重写方法的参数是一个问题!!!

我希望这只是在模拟器下运行时的一个问题,但是我们仍然需要修复,否则开发会更加困难。

任何建议或建议将不胜感激。

0 投票
1 回答
192 浏览

azure - 如何以编程方式确定 azure webrole 实例是否在 webrole.cs 的 onstart 方法中返回 500 错误?

我有这种情况:asp.net 应用程序作为 azure webrole 运行,2 个小实例。有时当 vm 重新启动时,我的一个实例返回 500 错误,我必须手动重新启动每个实例并希望最好。如何在 webrole.cs 的 onstart 方法中检查该实例是否已启动并正在运行,以及是否有问题以回收角色?

0 投票
0 回答
351 浏览

asp.net - Azure 网站:无法加载文件或程序集 - 哪些依赖文件真的丢失了?

在我的 asp.net 项目中,我需要引用第三方遗留 C++ 组件。该组件通常安装在本地计算机上,并且 Web 应用程序在我的本地主机上运行良好 - 事实上,我的 Web 应用程序只使用这个大组件的一个 dll。现在,我想将应用程序部署到 azure 网站。正如我所知道的,我必须使用 azure web 角色在启动脚本中运行任务。但是,我尝试了很多方法,但似乎没有任何效果。我得到了同样的错误:

无法加载文件或程序集“xxx.Foundation.IO.DLL”或其依赖项之一。指定的模块无法找到。

使用依赖walker,我觉得foundation.io.dll 只有两个自定义依赖项:fileio.dllfregistry.dll。所有其他文件似乎都是系统文件,可能来自 vcredist_x86.exe。但是,我尝试将这些文件部署到 azure 云服务,但问题没有解决。

我在这里的共享服务中上传了这三个文件。我想知道有人可以看看吗?非常感谢您的时间。

顺便说一句,我的启动脚本如下所示:

fileio.dll 和 fregistry.dll、vcredist_x86.exe 以及此启动脚本使用“始终复制”包含在 asp.net 项目的 bin 文件夹中。