如何在 VS 2015 中添加 UWP 的 Web 引用

本文关键字:UWP Web 引用 添加 VS 2015 | 更新日期: 2023-09-27 18:35:23

我正在尝试将我的代码从普通的wpf应用程序迁移到通用Windows平台。以前我使用VS 2012开发我的WPF应用程序并且它工作正常。现在我也想将相同的应用程序用于移动设备。我发现 UWP 是它的解决方案。现在我正在使用 vs 2015 .但是在与 2015 年相比,我找不到 Web 参考选项,我只能看到服务参考。实际上我的情况是我正在根据请求从用户动态获取IP地址和端口号,我正在连接到该特定服务,例如

public const string GET_SKU_DETAILS = "http://{0}:{1}/OmniRetailerServices/SkuServices/getSkuDetails?skuID={2}";

因此,像这样,我正在连接到特定的远程服务器以访问服务。

我在 vs 2012 中使用 Web 引用来做到这一点。但是在 vs 2015 中,我找不到 Web 参考。所以我的问题是如何使用VS 2015在UWP应用程序中执行此操作。

请帮助我解决这个问题。

提前谢谢。

如何在 VS 2015 中添加 UWP 的 Web 引用

是的,你可以。只需继续,就好像您要添加新的服务引用一样(是的,我现在需要添加Web引用),然后在"添加服务引用"窗口的左下角,单击"高级"选项。然后,再次在底部,您看到"兼容性",在"添加Web引用"按钮附近,现在明白了!:)

Web 引用

(ASMX Web 服务客户端)即使在经典桌面应用程序(如 WPF)中也被视为遗留引用。服务引用(WCF 服务客户端)是它们的后续引用,正如你已经注意到的,它们在 UWP 应用中可用。

只需创建服务引用而不是 Web 引用。您应该能够通过指向与创建 Web 引用相同的 WSDL 来创建它。

您可以在创建客户端代理实例时更改终端节点 URL:

// use the base URL without the method name
var url = String.Format("http://{0}:{1}/OmniRetailerServices/SkuServices", hostname, port);
var client = new SkuServicesClient(new BasicHttpBinding(), new EndpointAddress(url));

要调用 Web 方法,请在生成的代理上调用相应的方法:

var result = await client.GetSkuDetailsAsync(argument);

由于不知道有关您的服务的详细信息,我试图在我的代码中提出合理的 URL 值和名称以匹配您提供的信息。即使它们在您的情况下不完全相同,也应该足以让您继续前进。

你不能这样做。 你需要

找到另一种方式,比如HttpClient。

HttpClient 是使用 Web 服务的简单方法。

https://blogs.windows.com/buildingapps/2015/11/23/demystifying-httpclient-apis-in-the-universal-windows-platform/