服务引用不是创建方法

我正在尝试将SOAP Web服务的服务引用添加到我的ASP.NET MVC应用程序中,因此我可以从此处使用Web服务。

问题是,服务引用没有创建我可以在常规应用程序中使用的任何类或方法,它只定义了两个接口和许多数据类型。

也许我错了,但是正如我理解的那样,服务引用应该创建一个类,我可以使用它来调用服务上的不同方法。 然后我的工作是将我的业务模型数据转换为Web服务的数据类型,以便我可以向方法发送参数并使用它们的响应。

我做错了,应该使用不同的方法来使用外部SOAP Web服务吗?

查看您的服务参考。 右键单击并“配置服务引用”。 取消选中“在引用的程序集中重用类型”并让它重建代理。

在我的例子中,我创建了一个名为“Example”的WCF服务的服务引用。 这将创建一个名称空间WebApplication1.Example

我的WCF服务简称为Service1 ,它是IService1一个实现,它具有2个默认操作和我为funsies添加的Add。

一旦服务参考在那里,我有一个using WebApplication1.Example; 然后在C#中, var client = new Service1Client(); 。 请注意,约定会将“-Client”附加到我的服务名称,这是有道理的,因为它是实际服务的代理。

从那里它只是var x = client.Add(5, 6);

顺便说一下,您可能不需要Web引用。 虽然它可能“正常工作”,但它甚至不像服务参考那样接近。 Web引用与服务引用

HTH!