Skip to main content
 首页 » 编程设计

c#之如何从 visual studio webform 访问基于 ServiceStack 的 web 服务

2024年02月25日29thcjp

我无法理解如何使用现有的基于 ServiceStack 的 Web 服务 (https://cert.web.transaction.transactionexpress.com/TransFirst.Transaction.Web/api/)。我正在使用标准的 vstudio .net 4.6 aspnet 网站 c# 表单。

我尝试添加 base service uri作为对我现有项目的服务引用(网站 > 添加服务引用 > URI)但是在构建我的解决方案时我收到错误:[错误:无法为服务引用生成代码。无法导入 wsdl:portType...]。

我认为我可以在不手动构建对象定义的情况下与该服务进行交互,所以我一定漏掉了一个步骤。

两个问题:
1. 是否有其他人使用过此特定服务?或者您能否建议如何从该服务生成对象定义? 2. 我是否错误地假设生成对象定义会在我的 httpclient 上为我提供完整的 VStudio intellisense?

请您参考如下方法:

由于这是一个 ServiceStack Web 服务,您可以使用 C# Add ServiceStack Reference在 C# 中生成可与 ServiceStack's C# Service Clients 一起使用的类型化 API .

此服务的 BaseUrl 是:

https://cert.web.transaction.transactionexpress.com/TransFirst.Transaction.Web/api/

所以如果你install ServiceStack VS来自 VS.NET 扩展库:

您可以通过在您的项目上单击添加 ServiceStack 引用 来创建类型化 C# API:

然后您可以将 Typed DTO 与 ServiceStack 的通用服务客户端一起使用,例如:

var baseUrl = "https://cert.web.transaction.transactionexpress.com/TransFirst.Transaction.Web/api/"; 
var client = new JsonServiceClient(baseUrl); 
var response = client.Post(new CreateCustomReport { ... });