我有一些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?
解决方法:
看起来他们隐含地使用当前的文化:
https://github.com/restsharp/RestSharp/blob/master/RestSharp/RestRequest.cs#L286
除非你想修改它们的源代码,否则你可以使用以下方法强制当前线程的文化:
System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
然后在通话后再将其切换回来.
另一方面,看起来AddObject(…)方法使用非编译反射,因此如果您使用AddParameter(…)添加对象的参数,它应该更快.