我正在使用Visual Studio 2010.我有一个非常简单的asp.net网页,我浏览并上传了一个xml文件,我现在有2个文本框。在左侧框中,我显示原始的xml内容,然后,我想使用xml作为输入调用WCF服务,并显示在右侧框中返回的结果。
现在,我一直收到“消息服务队列不可用”的错误。我已经通过谷歌搜索设置了邮件队列服务的系统帐户。
所以现在,我需要调试服务。在搜索之后,我认为附加过程可能是一个很好的方法。但是,在我的同事的机器上,重新启动服务的速度非常快,以至于我无法阻止它并点击Debug-> Attach to Process-> select_exe,说实话,它并不会停留在OnStart函数处。所有...
WCF作为Windows服务托管。
有人可以根据您的经验和知识向我提出任何想法或提示吗?或者你认为在我的情况下可能有用的任何其他方法。
任何想法都表示赞赏。十分感谢。 =)
答案 0 :(得分:1)
修改服务代码,以便它使用Environment.UserInteractive
Property检测它是从调试器运行的,还是只是在调试模式(#ifdef DEBUG
)(而不是发布)中检测它,然后启动程序控制台应用程序而不是服务。
例如:
static void Main()
{
#ifdef DEBUG
Application.Run();
#else
ServiceBase service = new SampleService();
ServiceBase.Run(service);
#endif
}
这将允许您在另一个实例中运行客户端代码时,在Visual Studio的一个实例中设置断点并单步执行代码。
答案 1 :(得分:0)
这个WCF服务是如何托管的? Web服务,Windows服务,控制台应用程序等?在任何情况下,您都可以在VS中调试该应用程序并让您的应用程序点击它。对于Windows服务,您必须稍微更改代码以进行调试。