3

问题很简单。。

我们通常使用 Web 引用从字面上使用 Web 服务(Visual Studio)。但是,我的问题是另一种方式。我需要从 ac# 类调用特定的 Web 服务,以使该 Web 服务可供其他人使用。

4

2 回答 2

3

首先,如果您可以选择,您应该在服务器和客户端上都使用 WCF。如果由于某种原因您不能在服务器上使用它,那么至少通过使用“添加服务引用”而不是“添加 Web 引用”在客户端上使用它。“添加 Web 引用”是传统 ASMX 技术的一部分,不应将其用于新开发。

其次,当然您可以创建一个单独的类库,并在该库中使用“添加服务引用”。然后,您可以编写一个具有调用服务的公共方法的类。这个类库的用户会调用你的公共方法,不会直接调用服务。

于 2012-04-20T03:15:38.047 回答
1

您可以通过在 VS 中展开 Web 引用来提取 Web 引用的 C# 代码类(如果我没记错的话,可以显示隐藏文件)。您应该找到一个 Reference.cs 文件,它是您的 Web 服务的代理客户端代码。

它包含调用 WS 所需的一切。您可以将其复制到其他地方,将其包含在另一个项目中,更改其名称空间/代码等。从长远来看,如果相应的 WS 发展,维护此文件将是一件痛苦的事。

无论如何,如果你有选择,你应该遵循@JohnSaunders 关于 WCF 的建议

于 2012-04-20T07:56:08.750 回答