2014-09-25 55 views
0

我们最近将SS从V3升级到了V4,并发现我们的C#客户端现在失败了,因为在PredefinedRoutes从/ syncreply/to/sync /重命名。从ServiceStack V3升级到V4导致仍然使用V3的客户端出现问题(/ syncreply/vs/reply /)

我的问题是......当我们从顶部(服务器)向下更新它们时,我们如何才能让这些较老的客户端仍然在工作? (同时更新我们所有的客户和合作伙伴不是一种选择。)

有没有方法可以添加自定义的httphandler或可能是我缺少的主机设置?

PS:使用/ syncreply/lookup的唯一路由是Authenticate。

感谢,

乔丹

回答

0

你可以改变现有的v3服务客户通过设置UseNewPredefinedRoutes属性,例如使用新的预定义的路线:

var client = new JsonServiceClient(baseUrl) { 
    UseNewPredefinedRoutes = true 
}; 
+0

感谢您抽出要回答的时间......但我担心修改客户端不是一种选择,因为我们不控制客户端的升级周期。 我最终做的是禁用预定义路由功能,并构建我们自己的身份验证DTO,然后将路由“/ json/syncreply/auth”添加到新的auth DTO(它将指导任何服务查找)。它并不理想,并且是一种触手可及的方式,但只要.NET路由器使用的唯一DTO没有路由,它就是默认的SS“Auth”DTO。 我们最终会弃用“/ json/syncreply/auth” - 但现在它工作正常。 – jglassco 2014-09-26 01:41:03