Windows Azure中WCF服务的实现和调试

开启诊断

通过以上的程序应用,现在对于我们来讲,大多数和诊断有关的工作都已经完成了。但做好之后一定要记住,我们必须要把“sharedListener”添加到“AzureLocalStorage”中。完成这个任务其实十分简单,只需要在“WCF Web Role”的“Web.Config”文件中交换一下被注释掉的“system.diagnostics”节点就可以了。

另外,还必须把下面这行代码添加到“WebRole.cs”文件中:

DiagnosticMonitor.Start(CloudStorageAccount.DevelopmentStorageAccount, diagnosticConfig);

在使用SDK 1.3把日志迁移到BlobStorage的过程中,可能会遇到一些问题,这个问题和作为SVCLog被创建的文件上的可用的权限有关。这个并不是没有解决的办法,首先,你可以模仿RobinDotNet(具体可以参考:http://robindotnet.wordpress.com/2011/02/16/azure-toolssdk-1-3-and-iis-logging/ )的做法,或者,你也可以在“ServiceDefinition.csdef”中彻底地删除<Sites>节点,这意味着它将不再作为一个完整的IIS来运行。现在,如果你无法解决这个SDK 1.3中的已知问题,你可以通过浏览它们的文件路径(使用Development Emulator)直接访问这些文件,或者你也可以使用远程桌面来访问云中的日志。

如果你对立即可以使用的WCF的跟踪日志比较好奇,你可以打开附属的项目,看看它是如何为你工作的——你可以把注意力放在“FixDiagFolderAccess.ps1”这个powershell脚本上。它为这个文件夹创建了一些访问控制表,更重要的是,它会为这个文件创建一个NULL或者完全为空的占位符(我们最后会重写这个文件)。

它可以给你提供SVCLog的定义,其中包括了绑定和异常的所有细节。在这里,你可以找到“DivideByZeroException”,然后开始诊断这个问题。

这个文件首先会出现在硬盘上:

片刻之后,Windows Azure Diagnostics系统会把这个文件迁移到blob storage的WAD-TraceFiles容器中。

在此之后,这个日志可以被下载,用来检查错误。在这个例子中,我们可以向下滚动,直到找到和被0除有关的细节,然后我们会发现有一个红色高亮的行显示发生了一个异常。要想查看更多的细节,我们可以从服务端获取这个错误真正的堆栈跟踪信息。

这篇博文的源代码可以从如下地址下载:

http://assets.bareweb.eu/wp-content/uploads/2011/03/WCFBasic.zip

本文接《在Windows Azure中实现和调试一个WCF服务(上)》和《在Windows Azure中实现和调试一个WCF服务(中)》

原文名:Implementing and Debugging a WCF Service in Windows Azure 作者:Andy

【本文乃51CTO精选译文,转载请标明出处!】

时间: 2024-08-07 05:19:06

Windows Azure中WCF服务的实现和调试的相关文章

浅谈WCF服务已在Windows Azure中得以实现和调试

本文接WCF服务已在Windows Azure中得以实现和调试(2) 做一些改动 为了方便大家对该项目的了解,现在我们会对这个基础项目做一些改动,让大家更加方便的知道是如何扩展这个解决方案的,又该如何中断它,以及怎样找出它中断的原因. 第一,为了我们可以看到如何开始扩展这个服务,我会添加一个新的方法在这个服务器上.定位到"IService1"接口,然后添加下面这些代码: [OperationContract]        float Divide(float dividend, fl

WCF服务已在Windows Azure中得以实现和调试

Windows Communication Foundation (WCF)是一种被广泛使用的客户端/服务端通信技术,由微软提供,现在已经十分纯熟了.它打破了原先一个对话框只能和一个进行交互,WCF服务可以和一个WCF客户端进行通信,同时也可以和采用了同样的标准的其他框架的客户端进行通信.这是十分难得的.为了把在Windows Azure中运行的,使用强大的WCF框架的服务暴露出来,Windows Azure也不甘示弱,为平台提供了一个WCF角色.不管在哪个框架和平台上构建复杂的,具有高度可扩展

windows-如何在 .NET 中使用 Windows Azure Blob 存储服务

问题描述 如何在 .NET 中使用 Windows Azure Blob 存储服务 如何在 .NET 中使用 Windows Azure Blob 存储服务 解决方案 您好, 首先,您需要在您的电脑上安装Azure 的SDK. 其次,您可以安装azure storage client library 在您的项目中.关于如何用C#使用Azure Blob,建议您参考这片教程:http://www.windowsazure.cn/zh-cn/documentation/articles/storag

azure-求解在 .NET环境 中使用 Windows Azure Blob 存储服务的方法

问题描述 求解在 .NET环境 中使用 Windows Azure Blob 存储服务的方法 求解在 .NET环境 中使用 Windows Azure Blob 存储服务的方法.谢谢 解决方案 Hi, Azure官方网站提供了关于Azure的一些文档,其中包括很多的服务,对于使用Azure具有一定的指导作用,文档地址:http://www.windowsazure.cn/documentation/,如果你想了解存储服务,请点击数据服务=>存储,希望这些教程能帮助你使用Azure存储服务. Be

.net- .NET 中可以使用 Windows Azure Blob 存储服务吗?

问题描述 .NET 中可以使用 Windows Azure Blob 存储服务吗? 如题 .NET 中可以使用 Windows Azure Blob 存储服务吗 解决方案 http://www.windowsazure.cn/zh-cn/develop/net/how-to-guides/blob-storage-v17/#configure-access 里面有例子也有如何调用和存储~ 解决方案二: 当然可以,而且.net是支持最好的平台.你有两个办法使用blob,一个是用restful ap

Windows Azure 中的加密服务和数据安全

Windows Azure 平台的许多早期采用者仍对平台安全及其加密支持存在大量疑问.在此,我将介绍 Windows Azure 平台内加密和相关安全的一些基本概念.详细阐述本主题可能需要很大的篇幅,因此我只打算说明并重温一下 Windows Azure 中的某些加密服务和提供程序.任何向 Windows Azure 的过渡也会存在一些安全隐患. 对于任何新平台或服务交付方法,您都会面临新的挑战.另外还要提醒您,一些典型问题仍然存在,甚至您过去使用的一些相同的解决方案仍将有效.任何应用程序工程师

怎样在Windows Azure中部署应用程序

这篇文章,我们主要围绕怎样在Windows Azure中部署应用程序这个来开展,想要在Azure中部署应用程序,说简单不简单,说难也不难,不过有两个文件是必需的:一个包文件,另一个则是配置文件.要创建包文件,可以在CloudService项目上"右击",然后点击"Publish".它会询问你是创建一个包文件还是把它发布到Azure中.如果选择第一个选项,它会创建包文件,并打开这个浏览器.而第二个配置文件则在CloudService1中,叫作ServiceConfig

windows azure中在哪里能看到内存使用情况呢?

问题描述 windows azure中在哪里能看到内存使用情况呢? 如题.在windows azure中 在哪儿能看到内存的使用情况呢? 解决方案 您好, 无论是虚拟机,网站服务还是云服务,您都可以在监视(minitor)的面板中查看这些信息. 对于虚拟机和云服务的项目,正如caozhy的第二种方式,您可以远程到虚拟机,在任务管理器中查看计算机的performance.Regards,Will如果您想进一步了解Windows Azure Windows Azure 官网欢迎您的访问 解决方案二:

Windows Azure新的服务和增强功能

今天,我们迎来的混合云的新时代,汇集了最好的非云端和云计算.虚拟机.虚拟网络和Web站点现可作为 Windows Azure 的新预览服务.SQL报表是现在通常对客户可用,一个本地冗余存储选项已添加到提供额外的客户选择中,Windows Azure现有服务的几个增强功能现在可用.这些更新帮助客户构建并使用他们自己独特的方式在云中发布他们的应用. 此外,一些价格和计量的更新增加整体的价值.这些更改包括网络.CDN和存储的最终价格.Window服务器和非Windows虚拟机的预览定价.减少了90%的