Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 调试WCF异常会导致CommunicationException_Visual Studio 2008_Wcf_Debugging - Fatal编程技术网

Visual studio 2008 调试WCF异常会导致CommunicationException

Visual studio 2008 调试WCF异常会导致CommunicationException,visual-studio-2008,wcf,debugging,Visual Studio 2008,Wcf,Debugging,我将介绍FaultException在我们的WCF服务中的使用 为了测试这一点,我在服务器上创建了以下函数: public void ThrowException() { try { throw new ApplicationException("This is a test exception"); } catch (ApplicationException ex) {

我将介绍FaultException在我们的WCF服务中的使用

为了测试这一点,我在服务器上创建了以下函数:

public void ThrowException()
    {
        try
        {
            throw new ApplicationException("This is a test exception");
        }
        catch (ApplicationException ex)
        {
            throw new FaultException<ApplicationException>(ex, "Test reason");

        }
    }
public void throweexception()
{
尝试
{
抛出新的ApplicationException(“这是一个测试异常”);
}
捕获(ApplicationException ex)
{
抛出新的FaultException


问题:为什么我只在调试时才看到这种行为(我假设其他人没有)?我如何避免这种行为?

我不会称之为修复/解决方案,但我有一种非常适合我的情况的解决方法

正如我所说,我刚刚开始处理WCF异常,我意识到这是一种更好的处理异常的方法,而不是方法级的try/catch

当调试器跳过ProviderDefault的实现时,调试器不会查看异常,因此不会导致CommunicationException


目前这是可行的,但我仍然希望有一个真正的解决方案,因为在某些情况下,我希望提供特定的异常,这些异常将在默认情况下不受影响地传递。

我不会将其称为修复/解决方案,但我有一个非常适合我的情况的解决方案

正如我所说,我刚刚开始处理WCF异常,我意识到这是一种更好的处理异常的方法,而不是方法级的try/catch

当调试器跳过ProviderDefault的实现时,调试器不会查看异常,因此不会导致CommunicationException


目前这是可行的,但我仍然希望有一个真正的解决方案,因为在某些情况下,我希望提供特定的异常,这些异常将不受影响地通过ProvideFault传递。

我的代码不查看异常。数据,我确保它不在“监视”窗口中,并关闭了“监视”、“自动”和“本地”窗口。我也有同样的问题,我不记得我是如何解决这个问题的,因为我放弃了WCF的限制,但我认为它与web.config中的服务配置有关。我的建议是打开fiddler并确保所有请求都正常工作。CommunicationException的具体内容是什么?请捕获整个异常,并显示ex、 ToString(),然后使用“throw;”。John,这是CommunicationException消息:基础连接已关闭:连接意外关闭。-->System.Net.WebException:基础连接已关闭:连接意外关闭。我无法在注释中填充完整的ToString()。如果我关闭“仅我的代码”在调试器中,我可以在WCF代理接收FaultException时看到此SerializationException:"键入“System.Collections.ListDictionaryInternal”,数据协定名称为“ArrayOfKeyValueOfAnyType:…需要明确的是,我的代码没有看到异常。数据,我确保它不在“监视”窗口中,还关闭了“监视”、“自动”和“局部”窗口。我也遇到了同样的问题,因为受到限制而放弃了WCF,记不起我是如何解决的,但我认为这与web.config中服务的配置有关。我的建议是打开fiddler并确保所有请求都正常工作。CommunicationException的具体内容是什么?请通过捕获异常,显示例如ToString(),然后使用“throw;”来发布整个异常.John,这是CommunicationException消息:基础连接已关闭:连接意外关闭。-->System.Net.WebException:基础连接已关闭:连接意外关闭。我无法在注释中填充完整的ToString()。如果我关闭“仅我的代码”在调试器中,我可以在WCF代理接收FaultException时看到此SerializationException:“Type”System.Collections.ListDictionaryInternal“with data contract name”ArrayOfKeyValueOfAnyType:。。