wcf - 适用于辅助角色云服务的 Windows Azure 控制台

标签 wcf azure azure-worker-roles

我最近在本地计算机上开发了一个辅助角色云服务。该服务公开一个 WCF 接口(interface),该接口(interface)接收字节数组形式的文件,重新编译该文件,将其转换为适当的格式,然后将其存储在 Azure 存储中。我设法在我的计算机上使用 Azure 计算模拟器让一切正常运行,并将服务发布到 Azure,但……什么也没有。再次在我的机器上运行它,它按预期工作。当我在计算机上处​​理该问题时,Azure 计算模拟器的控制台输出对于应用程序的运行至关重要。

是否有可以通过 RDP 在云服务上使用的类似功能?例如在命令提示符或 power shell 中启动/重新启动角色?如果没有,调试/记录辅助角色正在执行的操作的最佳方法是什么(不使用 Intellitrace)?我在项目中启用了诊断,但它似乎没有为我提供与计算机模拟器控制台相同的详细程度。我已在本地主机上再次重新运行该角色和相应的 .NET 应用程序,但无法在控制台中找到任何可能的错误。

编辑:下一个最好的事情

回到手动日志记录,我实现了一个类,可以将文本文件输入到我的 Azure 存储帐户中。代码如下:

public class EventLogger
{
    public static void Log(string message)
    {
        CloudBlobContainer cbc;
        cbc = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("StorageClientAccount"))
                   .CreateCloudBlobClient()
                   .GetContainerReference("errors");
        cbc.CreateIfNotExist();
        cbc.GetBlobReference(string.Format("event-{0}-{1}.txt", RoleEnvironment.CurrentRoleInstance.Id, DateTime.UtcNow.Ticks)).UploadText(message);
    }

}

调用 ErrorLogger.Log() 将创建一个新的文本文件并记录您放入其中的任何消息。我在下面的答案中找到了一个例子。

最佳答案

据我所知,没有适用于辅助角色的控制台。如果诊断无法给您提供任何帮助,那么您需要采取一些技巧。尝试自行追踪 Blob 存储的消息和错误。史蒂夫马克思在这里有一个很好的例子http://blog.smarx.com/posts/printf-here-in-the-cloud

正如他在文章中指出的那样,这不是为了生产,只是为了帮助您找到问题。

关于wcf - 适用于辅助角色云服务的 Windows Azure 控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15607686/

相关文章:

wcf - 保持 WCF 连接打开,或在每次调用时打开

azure - Windows Azure 虚拟机,附加新磁盘

azure - 创建 Azure Paas 角色时未设置 Java PATH

c# - "while(true) { Thread.Sleep }"的原因是什么?

c# - Azure 辅助角色从 Linux VM 复制文件

.net - 将 ASP.NET 成员身份凭据从 MVC 应用程序传递到 WCF 应用程序

.net - 为什么 WCF 方法的返回类型会从泛型集合更改为数组?

WCF 性能 net.tcp 与命名管道

azure - Kusto 查询是否支持短路 (McCarthy) 评估

azure - dask:从 Azure blob 读取 Parquet - AzureHttpError