由于该操作无效或在WCF中无法识别,因此无法处理该消息

时间:2019-02-11 05:49:50

标签: c#

如标题中所述,我一直得到

的例外
  

”该消息无法处理,因为该操作   \ u0027http://tempuri.org/MegaService/GetData \ u0027无效或   无法识别。”

让我们解释一下当前情况。

我有两个服务:1)Web服务(ASP.NET MVC Web应用程序)和2)WCF服务,称为“ MegaService”。 Web服务调用MegaService中的函数。它们既是现有服务,也可以正常工作。

我为Web服务调用的新功能在MegaService中添加了一些新功能。在本地计算机(Visual Studio)上一切正常,这意味着我可以从Web服务调用MegaService中的函数,并从调用中获取数据。我在Visual Studio中工作。

要将这些新功能应用于服务器, 1)我已经更新了Web服务中MegaService的引用(在Visual Studio中,就像您右键单击服务引用并更新引用一样) 2)复制本地计算机visual studio项目bin目录中的所有dll文件,并用它们替换服务器中的dll文件。

这是个问题。我仍然可以调用MegaService的现有(旧)功能,但是当我尝试调用MegaService中的更新功能时,我最终得到了这个异常:“由于操作\ u0027http:// tempuri,无法处理该消息。 org / MegaService / GetData \ u0027无效或无法识别。“

我已经更新了服务参考,并且确认服务参考的dll文件也已通过文件的修改日期进行了更新。我仍然可以与MegaService通信并调用现有功能,但不仅可以调用MegaService的新更新功能。

请问您能想到任何可能的问题和解决方案吗?

1 个答案:

答案 0 :(得分:0)

您没有提供密码。 我不确定这是否可行,但是您可以尝试:

配置文件:

在AppSettings下

 <appSettings>
    <add key="EndPointAddress" value="http://localhost:1920/Service1.svc"/>
  </appSettings>

在system.serviceModel下

<system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="BasicHttpBinding_IService1" />
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://localhost:1920/Service1.svc" binding="basicHttpBinding"
                bindingConfiguration="BasicHttpBinding_IService1" contract="ServiceReference1.IService1"
                name="BasicHttpBinding_IService1" />
        </client>
    </system.serviceModel>

确保端点地址绝对正确(服务器端)。