C# 在windows服务OnStart中查找未处理的异常

C# 在windows服务OnStart中查找未处理的异常,c#,wcf,debugging,C#,Wcf,Debugging,我有一个自托管WCF服务,它由一个dll和一个Windows服务组成。dll中描述了我的wcf服务和app.config。wcf服务是用来承载整个事情的 我的问题是,当我现在尝试启动服务时,它不会启动。“您的服务已经启动,然后停止”之类的事情 我试图通过注释一些代码来搜索错误。我一直这样做,直到只有结构(初始化、启动、停止),但即使这样,它还是不起作用 这是经常发生的事情吗?System.Diagnostics.Debbuger.Launch无法调试。有人对调试OnStart方法有更好的想法吗

我有一个自托管WCF服务,它由一个dll和一个Windows服务组成。dll中描述了我的wcf服务和app.config。wcf服务是用来承载整个事情的

我的问题是,当我现在尝试启动服务时,它不会启动。“您的服务已经启动,然后停止”之类的事情

我试图通过注释一些代码来搜索错误。我一直这样做,直到只有结构(初始化、启动、停止),但即使这样,它还是不起作用


这是经常发生的事情吗?System.Diagnostics.Debbuger.Launch无法调试。有人对调试OnStart方法有更好的想法吗

在“OnStart”方法中添加try…catch并记录到事件日志中,然后查看是否收到任何异常

您的WCF绑定或服务契约实现中也可能存在一些问题。因此,请检查WCF配置以了解问题。如果您可以发布配置的内容,那么最好提供更多指导


要快速排除故障,您可以在控制台应用程序中托管WCF,并查看它是否工作正常,而不是每次都启动服务。

您可以在“OnStart”方法中尝试Thread.Sleep(毫秒),在下一行设置“break”,并附加调试器(在vs中alt+ctrl+p)对其进行调试,如果服务在到达中断点之前中断-应该是配置文件问题,请在此处发布。

是否检查了事件查看器?同样,如果没有代码,很难推测可能会出现什么问题1。使用
Thread.Sleep()
暂停Windows服务的启动,以便在启动过程中使用Visual Studio连接到进程。2.使用WCF跟踪捕获WCF异常,将日志记录添加到应用程序中,包括未处理的异常。我不了解的内容。当我删除我添加的所有引用(WCF&a dll)时,我会重置App.config文件,并删除除启动和停止初始化之外的所有内容,但仍然会产生相同的错误。有两种方法:共享您拥有的项目,或者如果是一个小项目,您可以将项目结构和文件内容与一个空的新项目进行比较,如果是一个旧的大型项目,您可以将更改与存储库中的工作副本进行比较。