2016-03-30 6 views
1

Ich habe eine neue Windows 10-Installation und ich migriere eine vorhandene ASP.NET-App auf die Box aus einer Windows 7-Box, wo es gut läuft.Windows 10 kurzes Datumsformat in ASP.NET-Anwendung inkonsistent

Ich habe festgestellt, dass auf der Windows 10-Box Daten im Format M/d/yy gerendert werden, obwohl ich das Datum unter Region speziell auf M/d/JJJJ eingestellt habe (beachten Sie, dass 4 Ziffern Jahr) . Das Datum wird in einem Browser korrekt gerendert, aber wenn ich eine Verbindung zu localhost herstelle, rendert IIS Daten immer noch intern mit dem kurzen Datumsformat, das beim Parsen eine Reihe von Validierungsproblemen aufwirft.

Wer hat eine Idee? Nachdem ich meine Regionseinstellungen geändert habe, habe ich neu gestartet. Ich versuchte auch, die IIS Prozessidentität zum Netzwerkdienst anstatt APPPOOL zu ändern, da jemand erwähnte, dass das einen Unterschied machen könnte. Es hat nicht.

Warum sollte IIS meine regionalen Einstellungen nicht berücksichtigen?

Antwort

0

Wir haben festgestellt, dass das Problem der Benutzer ist, der von AppPool verwendet wird, erbt von einem Standardbenutzer, der unter Windows 10 mit einem kurzen Datumsformat von M/d/yy beginnt. Dies muss zuerst geändert und als Standard für neue Benutzer festgelegt werden. Anschließend müssen Sie eine neue AppPool-Identität erstellen, die einen anderen Namen als eine vorhandene (oder gelöschte) Identität aufweist. Pfui. Aber das funktioniert.

Grundlegende Schritte:

  1. Systemsteuerung -> Zeit, Sprache und Region -> ändern Datum, Uhrzeit oder Zahlenformate
  2. Gewünschtes Kurzformat Datum (für mich M war/d/yyyy)
  3. Click
  4. Gehen Sie zu Registerkarte Verwaltung Nehmen und dann auf Einstellungen kopieren klicken
  5. prüfen beide Boxen und klicken Sie auf OK
  6. Neustart für eine gute Maßnahme , Obwohl ich mich nicht erinnern, wenn diese Identität
  7. In IIS erstellen Sie eine neue AppPool erforderlich ist, und weisen Sie ihn auf Ihrer Website

Die ASP.NET-Anwendung sollte nun das Datumsformat verwenden, die erwartet wird. Es ist zu wiederholen, dass die AppPool-Identität einen anderen Namen haben muss. Auch das Entfernen einer Identität, das Neustarten und das Erstellen einer Identität mit demselben Namen behebt dieses Problem nicht. Aber das Erstellen eines mit einem neuen, eindeutigen Namen tut es.