我有一个包含WCF服务的Web应用程序项目。当我在Visual Studio 2010调试器下使用ASP开发服务器运行我的Web项目时,使用“调试->选项->断点”,勾选“CLR异常抛出”并取消勾选“启用我的代码”,我可以捕获ServiceActivationException异常并获得详细解释,当我的WCF服务未启动时,这个异常也会被记录在WCF跟踪中。
然而,我尚未找到在代码中捕获此异常的方法。如何捕获它呢?
然而,我尚未找到在代码中捕获此异常的方法。如何捕获它呢?
如果你所说的“代码”只是指捕获异常以进行日志记录,那么可以尝试看看是否适用于你的实现IErrorHandler。另一个选择可能是自定义服务主机,但如果这样做不起作用,那么除了在Visual Studio调试器之外,你几乎无法捕获它。当初始化服务实例时,在WCF框架内部会发生该异常。因为它发生在你的服务代码运行之前,所以你的代码无法捕获它。