我有一些double
类型的变量,我希望将它作为GET参数传递给我的asp.net mvc客户端。但是,例如使用德语时,50.1
将以50,1
发送。
虽然在使用AddParameter方法添加参数时我可以轻松使用ToString
,但是当我依赖AddObject时就不那么容易了。
我使用以下代码:
var client = new RestClient(apiBaseUrl);
var request = new RestRequest(api);
request.RequestFormat = DataFormat.Json;
request.AddObject(data);
//...
我在哪里可以更改RestSharp使用的CultureInfo
?
答案 0 :(得分:3)
看起来他们暗中使用了当前的文化:
https://github.com/restsharp/RestSharp/blob/master/RestSharp/RestRequest.cs#L286
除非你想修改它们的源代码,否则可以使用以下命令强制当前线程的文化:
System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
然后在通话结束后再将其切换回来。
另一方面,看起来AddObject(...)
方法使用非编译反射,因此如果您使用AddParameter(...)
添加对象的参数,它应该更快。