我查看了上述框架的文档,看看它们是否提供了自动生成客户端代码的工具,即模型类。有谁知道他们是否可以,或者您是否必须尝试使用svcutil执行此操作?如果是这样,有没有人有这方面的经验?
答案 0 :(得分:3)
ServiceStack有许多不同的选项可用于启用强类型API以在客户端上使用ServiceStack服务:
ServiceStack encourages logically separating your Services,以便在依赖和无impl项目中定义您的服务请求和响应DTO(即消息合同),通常名为{ProjectName}.ServiceModel
。这个推荐的项目结构包含在ServiceStackVS VS.NET Project Templates的每一个中。
这种方法的好处是,您的客户能够重新使用服务器DTO dll(用于定义Web服务合同)与任何.NET Service Clients一起使用以启用端到端类型的API 没有任何代码生成。
此方法还允许您首先按代码定义基于消息的DTO(即服务合同),即不存在任何实现问题,让您专注于服务应接受和返回的域值。一旦定义了DTO,客户端和服务器团队就可以并行地彼此独立地实现它们,因为客户端甚至可以在服务响应实现之前绑定它们。
所有ServiceStack's ServiceClients都实现了干净的接口(例如IServiceClient
),这些接口允许客户端轻松模拟返回存根结果,直到实现服务器。
Add ServiceStack Reference提供了共享DTO dll的替代方案,可以为外部客户端提供更好的开发工作流程,而外部客户端可以从BaseUrl为远程ServiceStack服务生成(和更新)Typed API - 减少所需的负担和工作量使用ServiceStack服务,同时受益于客户母语强类型反馈。
添加ServiceStack参考还包括与大多数领先的IDE集成,客户可以轻松地添加对远程ServiceStack实例的引用,并直接从VS.NET,Xamarin Studio,XCode和Android Studio中更新DTO。对于这些受支持的语言:
分享DTO或使用添加ServiceStack参考是holds a number of benefits over using SOAP, WSDL's and generated proxies的推荐方法,用于启用类型化的客户端API,鼓励今天在Web服务实现中使用complex and fragile combination of technologies。
但是当需要它们时,ServiceStack还为您的服务启用follow the SOAP limitations的SOAP端点,为外部客户端提供生成WSDL生成的代理所需的WSDL和XSD。