C# 如何从VisualStudioWebForm访问基于ServiceStack的web服务
我很难理解如何使用现有的基于ServiceStack的web服务()。我使用的是标准的vstudio.net4.6aspnet网站c#表单 我尝试将作为服务引用添加到现有项目(网站>添加服务引用>URI),但在构建解决方案时收到错误:[错误:未能为服务引用生成代码。无法导入wsdl:portType…] 我想我可以在不手动构建对象定义的情况下与这个服务交互,所以我肯定错过了一个步骤 两个问题:C# 如何从VisualStudioWebForm访问基于ServiceStack的web服务,c#,webforms,
servicestack,C#,Webforms,
servicestack,我很难理解如何使用现有的基于ServiceStack的web服务()。我使用的是标准的vstudio.net4.6aspnet网站c#表单 我尝试将作为服务引用添加到现有项目(网站>添加服务引用>URI),但在构建解决方案时收到错误:[错误:未能为服务引用生成代码。无法导入wsdl:portType…] 我想我可以在不手动构建对象定义的情况下与这个服务交互,所以我肯定错过了一个步骤 两个问题: 1.还有其他人使用过这种服务吗?或者,您可以建议如何从该服务生成对象定义吗? 2.我是否错误地认为生成
1.还有其他人使用过这种服务吗?或者,您可以建议如何从该服务生成对象定义吗?
2.我是否错误地认为生成对象定义将在httpclient上提供完整的VStudio intellisense 由于这是一个ServiceStack Web服务,您可以使用它来生成C#中的类型化API,您可以使用它 此服务的
BaseUrl
为:
因此,如果您从VS.NET扩展库:
您可以通过在项目上单击添加ServiceStack引用来创建类型化的C#API:
然后,您可以将类型化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 { ... });
好的,谢谢你的快速回复。我添加了SS引用,但生成的类有一系列错误,以“找不到类型或命名空间名称'DataContractAttribute'(是否缺少…),“'DataContract'找不到…等开头@MTAdmin,也就是说,你需要确定,也许我正在接近我应该问的问题…VS(2015/2017)没有在现有aspnet站点中添加SS引用的菜单选项。我试图通过向现有解决方案中添加单独的SS项目来解决此问题。在一个解决方案中同时添加两个项目会导致VS在生成的类文件中指示DataContract错误。那么-有没有办法向现有aspnet添加SS引用网站?@MTAdmin我的回答显示了如何将ServiceStack引用添加到现有项目。我不知道您遇到了什么错误,但听起来像是依赖项冲突。您可以在项目中包含源文件并手动添加对NuGet包的引用,从而添加无UI的引用。添加静态类型源文件answ呃,我的问题。我想这可能会导致将来的源代码更改破坏我的脱机类型,但我现在可以接受。谢谢你的帮助!