C#客户端-路由选择器
我有以下的DTOC#客户端-路由选择器,c#,servicestack,C#,servicestack,我有以下的DTO [Route("/Locations/{Code}/ToLocal/{Datetime}")] [Route("/Locations/{Code}/ToUTC/{Datetime}")] public class TimeConvertToLocal : IReturn<TimeConvertResponse> { ..... 它可以工作,但总是选择ToUTC路线。我应该如何告诉客户选择ToLocal路线?或者我应该更改我的实现并将其拆分为两个dto?您可以在路由
[Route("/Locations/{Code}/ToLocal/{Datetime}")]
[Route("/Locations/{Code}/ToUTC/{Datetime}")]
public class TimeConvertToLocal : IReturn<TimeConvertResponse>
{
.....
它可以工作,但总是选择
ToUTC
路线。我应该如何告诉客户选择ToLocal
路线?或者我应该更改我的实现并将其拆分为两个dto
?您可以在路由中添加另一个变量。类似于路由(“/Locations/{Code}/{Format}/{Datetime}”)并让客户机指定
既然您命名了TimeEnvivToLoCall类,您也可以考虑创建一个新的请求DTO TimeVeltTutc.
最后,只需向客户提供两个答案,让他们选择他们想要的答案。例如:路由(“/Locations/{Code}/{Datetime}”),您的响应将包含本地时间和UTC时间 您的客户应始终将日期作为其本地时间发送。我假设您有一个基于客户端区域设置的查找。如果不存储客户机的区域设置,则需要在客户机的区域设置中发送另一个方法。有了区域设置,你就可以执行你想要的计算了。谢谢你,但不是我的问题。我只想知道如何通知ServiceStack C#客户使用“ToLocal”或“ToUTC”路线。谢谢你的回答,Mike-事实上,我们完成了你的第一个解决方案,但由于第二个解决方案更加优雅,因此将改为第二个解决方案。
var result = client.Get(new TimeConvert()
{
Code = 'ABC',
Datetime = DateTime.Now.ToString("yyyyMMddTHHmmss")
});