我正在使用 MVC3 和 Entity Framework 。在我的应用程序中,我需要通过 EF 调用 SQL Server 2005 中的存储过程,以根据传递的 datetime
参数搜索一些数据。
在本地环境中一切似乎都运行良好。但是在将它托管到 IIS 之后,我在尝试从日期 13-08-2012
进行搜索时遇到异常(我猜 13 在 SQL 中是一个月)
错误说
SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM
我理解错误是因为 System.Datetime
和 SqlDatetime
之间的日期时间格式不同。
但我不明白为什么它在我使用相同 SQL Server 的本地环境中没有任何问题但在 IIS 服务器中托管后出现此错误。
这个问题有解决办法吗?
最佳答案
我的问题现在已经解决了。问题在于 IIS 中的区域性设置。 我已将这些行添加到我的应用程序 web.config 中,它现在工作正常。
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="en-GB" uiCulture="en-GB"/>
有关更多信息,请查看此 Issue with culture settings in IIS
关于c# - Entity Framework - SQL Server 2005 - IIS 服务器日期时间问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12017967/