簡體   English   中英

如何為使用ServiceStack開發的服務的API指定“名稱空間”和“ conformsto”屬性?

[英]How to specify “namespace” and “conformsto” attribute to APIs for services developed using ServiceStack?

目前,我們正在將舊版Web服務(asmx)轉換為使用ServiceStack平台開發的REST API層。

存在一些具有在asmx中指定的名稱空間和Binding ConformsTo屬性的Web服務。 以下是一個這樣的示例:

[WebService(Namespace = "http://ourcustomsite.com/externalServices")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

我們如何在他們的ServiceStack中設置它們?

如果您指的是ServiceStack的SOAP支持,則僅支持使用.NET DataContract屬性更改名稱空間,應為DTO(也稱為ServiceModel)所在的每個名稱空間指定該屬性,例如:

[assembly: ContractNamespace("http://ourcustomsite.com/externalServices",
           ClrNamespace = "MyApp.ServiceModel.Operations")]
[assembly: ContractNamespace("http://ourcustomsite.com/externalServices",
           ClrNamespace = "MyApp.ServiceModel.Types")]

您還需要在以下位置指定自定義名稱空間:

SetConfig(new HostConfig {
    WsdlServiceNamespace = "http://ourcustomsite.com/externalServices",
});

ServiceStack的SOAP綁定不可自定義,也不旨在用於與現有SOAP Service的配置文件一致。 SOAP客戶端需要使用/soap11/soap12 WSDL來生成WCF服務參考客戶端,甚至更好的是通用的Soap12ServiceClient ,它可以使用Services現有的類型化DTO來代替WSDL生成的代理。

避免針對新項目使用SOAP

SOAP的使用應被認為是舊有的,並且僅限於強制使用SOAP的情況。 添加ServiceStack參考與ServiceStack的一起普通的C#/。NET服務的客戶提供更快速,更簡單,靈活和彈性的替代方案,可以在被利用SOAP 許多不同的C#中/。NET的客戶多種不同的語言 ,應該是選擇使用時的首選解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM