'System.ServiceModel.CommunicationObjectFaultedException 类型的异常

问题描述

我正在尝试在其他基于 WCF 服务的应用程序中使用 asmx Web 服务。此 WCF 服务应用程序有多个项目,其中实际服务位于一个项目(具有 web.config 文件)和其他库项目中。我正在尝试通过出于某种原因添加服务引用来使用这些库项目之一(将具有 app.config 文件)中的 asmx Web 服务。我已将具有绑定详细信息的端点部分正确复制到 wcf 服务项目的 web.config 文件这是主项目或启动项目。

在将 asmx 服务添加为实际 WCF 应用程序的 Web 引用时,我没有遇到任何问题,并且我能够运行 wcf 服务并使用 asmx 服务而不会出现任何问题。

我还通过在类似于实际 wcf 应用程序的小型测试 wcf 服务中将其添加为服务引用或 Web 引用来验证 asmx 服务,并且我在使用该服务时也没有遇到任何问题。

但是我在通过服务引用添加 asmx 服务时遇到以下问题,

1) 创建代理实例后,我可以在通道和内部通道的代理对象中看到以下异常

var client = new CC.WebServices.Proxy.Test.PSP.TestService.TestServiceSoapClient()

Channel = 'srv.Channel' 引发了类型为“System.ServiceModel.CommunicationObjectFaultedException”的异常

InnerChannel = 'srv.InnerChannel' 引发了类型为“System.ServiceModel.CommunicationObjectFaultedException”的异常

2)在下面的语句中,我只是尝试添加超时在 catch 块中抛出异常,并带有下面提到的消息

client.InnerChannel.OperationTimeout = new TimeSpan(0,5,0);

“通信对象 System.ServiceModel.ChannelFactory`1[CC.WebServices.Proxy.Test.PSP.TestService.TestServiceSoap] 无法用于通信,因为它处于故障状态。”}

3) 我正在尝试调用 asmx 服务方法,但在到达此调用之前已超出异常。

value = client.GetTestDetails(requestdata);

基本上我的实际 WCF 服务应用程序项目使用不同的 dotnet 框架版本。就像 Main WCF 项目正在使用 .net f/w 4.6 版本一样,因为使用 asmx 服务的项目正在使用 .net f/w 4.0。但是我在我的测试 wcf 服务应用程序中也验证了这一点,即使使用也没有问题不同项目的不同 .net f/w 版本。

你能帮我解决这个问题吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)