我有2个ASP MVC应用程序位于同一台服务器上,位于不同的应用程序池中。一个是面向公众,另一个是内部网络的用户。
它们都查询同一个数据库并在相同的用户配置文件下运行。
在我的计算机上调试应用程序时,一切都井然有序,但是当运行它们发布到服务器时,当显示double
值时,面向公众的应用程序始终使用逗号,而私有应用程序使用完全停止(应该如此)。
据我所知,我没有专门针对此设置任何文化设置,我只为私人网站上的日期设置了自定义过滤器:
public class CustomDateTimeBinder : IModelBinder
{
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
var value = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);
CultureInfo culture = new CultureInfo("en-GB"); // dd/MM/yyyy
var date = value.ConvertTo(typeof(DateTime), culture);
return date;
}
}
这是我能想到的最接近的东西,但我不认为这是差异的原因。
我将从哪里开始寻找导致这种差异的原因?似乎问题必须在服务器上,因为在我的电脑上从VS进行调试时,它会根据需要使用.
。
必须格式化每一个双as suggested here似乎很荒谬。