Azure后台服务

Azure后台服务,azure,azure-worker-roles,Azure,Azure Worker Roles,我们有一个后台工作人员角色,为我们运行一些服务。通信服务和通知服务。当我在本地运行我的代码时,这两个服务都会运行,并且我能够写入日志,一切看起来都很好。当我将配置文件指向生产连接字符串和其他生产变量并运行本地代码时,一切正常。当我将代码推送到Azure时,我的服务似乎没有运行,我不再看到任何数据被写入我的日志表 我们有另一个解决方案,我们做同样的事情(通信和通知服务),这与另一个解决方案中的预期效果一样 我比较了工作解决方案中的所有引用和非工作解决方案中的引用-所有需要的DLL都设置为copyL

我们有一个后台工作人员角色,为我们运行一些服务。通信服务和通知服务。当我在本地运行我的代码时,这两个服务都会运行,并且我能够写入日志,一切看起来都很好。当我将配置文件指向生产连接字符串和其他生产变量并运行本地代码时,一切正常。当我将代码推送到Azure时,我的服务似乎没有运行,我不再看到任何数据被写入我的日志表

我们有另一个解决方案,我们做同样的事情(通信和通知服务),这与另一个解决方案中的预期效果一样

我比较了工作解决方案中的所有引用和非工作解决方案中的引用-所有需要的DLL都设置为copyLocal=true-我们尝试了各种不同的工具来查看问题是什么,但我们无法确定确切的问题

编辑:

  • 这在后台是一个简单的过程
  • 我使用内置的日志记录实用程序写入日志-此日志表存在于我们的sql azure数据库中
  • 我们确认这是有效的——因为该服务与azure实用程序一起启动,并最终说“准备就绪”——在过去的情况下——我们会收到错误消息,否则它将继续运行
  • 我们的服务由WorkerRole.cs文件-Run/OnStart启动

  • 你的帖子不清楚,所以我有几个问题。1) 这是一个Windows服务还是一个在后台工作的简单过程?2) 如何编写这些日志以及日志表的存在位置?3) 当您将应用程序部署到Windows Azure时,如何验证工作进程是否正常工作?4) 这个过程是使用ProgramEntryPoint还是从startup task启动的,或者你是如何在Windows Azure中启动的?Avkash-谢谢你的提问-我已经对我的初始问题添加了一些编辑-再次感谢。好的-没有看到代码或配置,这有点像是瞎猜,但是这些呢:通过正确配置的防火墙访问数据库?将所有内容发布到Azure(即,没有缺少的依赖项?)您可以将RDP导入WorkerRole并检查事件日志条目,以查看这是否为您提供了线索……如果您有Visual Studio Ultimate,您可以尝试将intellitrace设置为()查看流程是否实际工作,只是没有将日志放到您希望看到它们的位置。如果您没有Intelltriace,那么您可以在不同的位置部署一个调试构建,其中包含调试语句,并将RDP部署到机器中,然后使用SysInternals DebugView查看这些消息的输出;这可能是一些简单而愚蠢的事情,例如缺少DLL或从GAC加载的程序集不是您的服务所期望的版本。或者它正在将日志写入错误的目录,或者它没有权限。正如MikeWo所说,使用远程桌面登录实例并四处嗅探。检查系统事件以及错误。您的帖子不清楚,所以我有几个问题。1) 这是一个Windows服务还是一个在后台工作的简单过程?2) 如何编写这些日志以及日志表的存在位置?3) 当您将应用程序部署到Windows Azure时,如何验证工作进程是否正常工作?4) 这个过程是使用ProgramEntryPoint还是从startup task启动的,或者你是如何在Windows Azure中启动的?Avkash-谢谢你的提问-我已经对我的初始问题添加了一些编辑-再次感谢。好的-没有看到代码或配置,这有点像是瞎猜,但是这些呢:通过正确配置的防火墙访问数据库?将所有内容发布到Azure(即,没有缺少的依赖项?)您可以将RDP导入WorkerRole并检查事件日志条目,以查看这是否为您提供了线索……如果您有Visual Studio Ultimate,您可以尝试将intellitrace设置为()查看流程是否实际工作,只是没有将日志放到您希望看到它们的位置。如果您没有Intelltriace,那么您可以在不同的位置部署一个调试构建,其中包含调试语句,并将RDP部署到机器中,然后使用SysInternals DebugView查看这些消息的输出;这可能是一些简单而愚蠢的事情,例如缺少DLL或从GAC加载的程序集不是您的服务所期望的版本。或者它正在将日志写入错误的目录,或者它没有权限。正如MikeWo所说,使用远程桌面登录实例并四处嗅探。检查系统事件以及错误。