繁体   English   中英

ServiceStack重命名SyncReply客户端

[英]ServiceStack Renaming SyncReply Client

我正在考虑使用ServiceStack Web服务代替现有的第三方Web服务。 我已经匹配了第三方服务使用的DTO。 但是,客户端需要一个名为“ NotificationServiceClient”的代理类,如下所示:

var client = new NotificationService.NotificationServiceClient();
var response = client.SendNotification(message);

我无法更改客户端应用程序的源代码,因此我想将ServiceStack配置为将NotificationService用于客户端代理,而不是SyncReply。 有没有办法做到这一点?

更新 -似乎我正在寻找一种配置ServiceStack的方法,以便它为wsdl:service标记的name属性生成一个不同的值; 从SyncReply到NotificationServiceClient。 我可以保存当前的WSDL,手动对其进行操作,并使用一次性客户端来验证代理类名称。

不要使用ServiceStack的.NET服务客户端来使用第三方API,它们仅是为使用ServiceStack服务而设计的。

我们推荐用于调用第三方API的唯一HTTP客户端是HTTP Utils ,这是我们的通用HTML客户端。

基于mythz的评论,我在AppHost中重写了GenerateWsdl,并在wsdlTemplate上设置了ServiceName属性。 这是一个例子:

public override string GenerateWsdl(WsdlTemplateBase wsdlTemplate)
{
    wsdlTemplate.ServiceName = "NotificationService";
    return base.GenerateWsdl(wsdlTemplate);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM