2

我创建了一个 Windows Azure 项目作为Worker Role ..它有一个简单的 WCF 服务。当我在本地系统上运行它时,Compute Emulator会给我以下错误...

我安装了最新的 Azure SDK 工具包。请告诉我为什么会发生此错误。

在 Microsoft.WindowsAzure.Diagnostics.ControlChannel.GetControlContainer()
[诊断]:获得互斥锁  
【诊断】信息:C:\Users\kashif\AppData\Local\dftmp\Resources\85b2b7f8-61ec-499d-a473-b39674855c21\directory\DiagnosticStore\Monitor    
[诊断] 信息:C:\Users\kashif\Downloads\WCFWorkerRole\WCFWorkerRole\WCFWorkerRole\csx\Debug\roles\WCFWorker\diagnostics\x64\monitor\MonAgentHost.exe -LocalPath "C:\Users\kashif\AppData\Local \dftmp\Resources\85b2b7f8-61ec-499d-a473-b39674855c21\directory\DiagnosticStore\Monitor"-StaticConfigFile "C:\Users\kashif\AppData\Local\dftmp\Resources\85b2b7f8-61ec-499d-a473-b39674855c21\directory \DiagnosticStore\Monitor\Configuration\mastaticconfig.xml" -ConfigFile "C:\Users\kashif\AppData\Local\dftmp\Resources\85b2b7f8-61ec-499d-a473-b39674855c21\directory\DiagnosticStore\Monitor\Configuration\maconfig.xml " -ShutDownEvent WADDM-ShutDown-f615698470fe491ea136287908faa42c -InitializedEvent WADM-StartUp-f615698470fe491ea136287908faa42c -parent 11516 -events
[MonAgentHost] 输出:当发出 WADDM-ShutDown-f615698470fe491ea136287908faa42c 信号时,代理将退出。    
[MonAgentHost] 输出:代理初始化后将发出 WADM-StartUp-f615698470fe491ea136287908faa42c 信号。       
[MonAgentHost] 输出:注册为事件消费者。    
[MonAgentHost] 输出:当父进程 11516 退出时,代理将退出。    
[MonAgentHost] 输出:监控代理已启动    
[诊断]:创建配置通道服务器    
[诊断]:启动配置通道轮询    
[运行时] 角色入口点。已完成 OnStart()    
[运行时] 角色入口点。调用运行()    
信息:WCFWorker 入口点调用    
信息:工作    
信息:工作    
[MonAgentHost] 错误:MA 事件:2012-06-04T13:40:32.487Z    
[MonAgentHost] 错误:2    
[MonAgentHost] 错误:11292    
[MonAgentHost] 错误:7264    
[MonAgentHost] 错误:NetTransport    
[MonAgentHost] 错误:0    
[MonAgentHost] 错误:x:\btsdx\215\services\monitoring\shared\nettransport\src\netutils.cpp    
[MonAgentHost] 错误:OpenHttpSession    
[MonAgentHost] 错误:749    
[MonAgentHost] 错误:0    
[MonAgentHost] 错误:2f94    
[MonAgentHost] 错误:    
[MonAgentHost] 错误:WinHttpGetProxyForUrl(http://127.0.0.1) 失败 ERROR_WINHTTP_AUTODETECTION_FAILED (12180)    
[MonAgentHost] 错误:MA 事件:2012-06-04T13:40:32.504Z    
[MonAgentHost] 错误:2    
[MonAgentHost] 错误:11292    
[MonAgentHost] 错误:7264    
[MonAgentHost] 错误:NetTransport    
[MonAgentHost] 错误:0    
[MonAgentHost] 错误:x:\btsdx\215\services\monitoring\shared\nettransport\src\xblobconnection.cpp    
[MonAgentHost] 错误:XBlobConnection::SendBytesRequestAndGetHttpStatus    
[MonAgentHost] 错误:1980    
[MonAgentHost] 错误:ffffffff80050006

工人角色 OnStart:

ServicePointManager.DefaultConnectionLimit = 12; 
ServiceHost host; 
IPEndPoint ip = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["port"].IPEndpoint; 
Uri baseAddress = new Uri(String.Format("http://{0}/MyService", ip)); 
try { host = new ServiceHost(typeof(MessengerService), baseAddress); host.Open(); }
catch (Exception ex) { Trace.WriteLine(ex.Message, "Error"); throw; } 
return base.OnStart(); 
4

2 回答 2

2

要摆脱这种情况,您需要在控制面板 -> 网络和 Internet -> Internet 选项 -> 连接 -> LAN 设置中禁用“自动检测设置”选项。

于 2014-02-20T16:24:25.230 回答
1

大多数情况下,此异常与您的 Azure 开发存储启动过程直接相关。无法启动 Azure 开发存储可能有多种原因。Azure 开发存储依赖于本地 SQL Server Express 组件,因此有时与 SQL Server 组件相关的任何问题都可能导致此问题。

要确保您的 Azure 开发存储正在运行,请尝试以管理员模式启动 C:\Program Files\Windows Azure Emulator\emulator\csmonitor.exe,然后验证您是否可以手动运行计算模拟器和开发存储。

一旦上述测试没有任何问题,请测试您的 Worker Role + WCF 应用程序,这应该让您没有任何问题,如果您在 Azure 存储运行正常时仍然看到问题,请在 onStart() 代码中显示您的 Worker 角色。(我还建议只创建一个非常简单的 web 或工作角色 hello world 示例,看看这是否会给您带来任何错误。这将证明您的 SDK 安装是否有任何问题)

添加更多:

您提供为“[MonAgentHost] 错误:WinHttpGetProxyForUrl(http://127.0.0.1) failed ERROR_WINHTTP_AUTODETECTION_FAILED (12180)
”的错误消息是良性的,如我的这篇博客中所述。

接下来根据您上面的代码(和示例链接),我真的没有看到任何显示错误的异常:

您是否尝试过使用访问服务:

http://{0}/MyService
it would be http://127.0.0.1:9001/MyService if you have followed the sample code provided in the link? 

此外,您的 OnStart() 函数与您提供的链接中的函数大不相同,我希望您知道您在代码中在做什么,因为您在上面提供的信息完全不同,所以除非您知道自己在做什么,否则它最好完全按照文章来匹配结果。

于 2012-06-06T17:30:43.613 回答