是否可以从另一个类公开 Web 引用

本文关键字:Web 引用 另一个 是否 | 更新日期: 2023-09-27 18:31:48

问题很简单。

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

是否可以从另一个类公开 Web 引用

首先,如果有选择,则应在服务器和客户端上使用 WCF。如果由于某种原因无法在服务器上使用它,则至少使用"添加服务引用"而不是"添加Web引用"在客户端上使用它。"添加 Web 引用"是旧版 ASMX 技术的一部分,不应用于新开发。

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

您可以通过在

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

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

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