日期过滤器在 c# 中的行为与生产和开发环境不同

时间:2021-05-30 08:24:19

标签: c# asp.net asp.net-core asp.net-mvc-5

DateTime minExpDate = aDetail.ExpiryDate.Date;
DateTime maxExpDate = aDetail.ExpiryDate.Date.AddDays(1);

var sp = GenService.GetAll<StockPosition>()
           .FirstOrDefault(r => r.WarehouseId == fromWarehouseId &&
           r.ProductId == aDetail.ProductId &&
           r.ExpiryDate >= minExpDate &&
           r.ExpiryDate < maxExpDate
           );

if (sp == null)
  {
   response.Message = "Not enough product available in stock";
   return response;
  }

当我从开发环境执行此代码时,它工作正常。我在 sp 中得到了一个对象。 但是当我在 IIS 中部署它时。并从生产环境 sp get Null 运行它。 为什么从生产运行时表现得像这样。 我在同一个 sql server 上运行它的开发和生产

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。问题是从生产运行时 minExpDate 和 maxExpDate 会发生变化。所以当我在 webconfig 文件中定义区域性时,代码工作正常。

<configuration>
   <system.web>
      <globalization culture="en-GB"/>
   </system.web>
</configuration>