在Asp.net核心中,我可以将CultureInfo
作为字符串传递给控制器,但是当我尝试传递RegionInfo
时,却无法接受。
这是我测试的基本控制器端点:
[HttpHead]
public IActionResult Head([FromQuery] string name, [FromQuery] RegionInfo region, [FromQuery] CultureInfo culture)
{
return Ok();
}
我尝试传递字符串和其他内容,但是出现以下错误:
Could not create an instance of type 'System.Globalization.RegionInfo'. Model bound complex types must not be abstract or value types and must have a parameterless constructor.
几乎RegionInfo
似乎缺少某种东西,使其可以与中间件以及mongoDB和ElasticSearch等配合使用;或RegionInfo
未被编写为与外部代码和库一起使用。
不幸的是,我对一个特定的问题感到迷茫。总的来说,我只想知道如何正确地传递并保存一个区域/国家,而无需编写自己的类似于RegionInfo的对象。我还想避免对这些数据进行字符串键入。
RegionInfo
是否有特定的传递方式?是否有一些转换器,串行器或包装器,或者我可以写一些东西使其像CultureInfo
一样神奇地工作?看起来CultureInfo
有一个TypeConverter
,但是在运行时向RegionInfo
添加一个似乎没任何作用。