2009-07-07 48 views
6

在一个web应用,我有一个的IHttpHandler在调用时开始,连接到一个Firebird数据库和除其他事项外解析从数据库中某些日期的常规应用。的Process.Start指定文化

当从桌面上运行应用程序做什么是应该没有任何问题。但是当它从httpHandler开始时,最终会出现错误的文化,并且无法解析日期。 我设置了文化我web.config和CurrentThread.CurrentCulture但它仍然结束了错误的。 所有这些都是从英文Windows Server 2003运行的,其文化设置为sv-SE。

那么,有没有与特定的文化开始System.Diganotics.Process.Start的应用程序呢? 如果新开始的流程没有使用哪种文化?

+0

你能否进一步解释一下,你想达到什么目的? – Lazarus 2009-07-07 15:17:36

回答

2

我不认为有指定文化的一种方式。 CultureInfo类专用于.NET,据我所知在Windows中没有应用程序特定的文化概念。使用Process和ProcessStartInfo类无法指定文化。但是,我认为文化与当前用户相关联,因此可能发生的情况是您的Web应用程序在不同用户的上下文中运行,因此从Web应用程序启动时,其他应用程序将获得其“用户的文化设置。因此,您可以更改用于运行Web应用程序的用户的文化(区域设置)。

在另一方面,如果其一个.NET应用程序,你正在运行,你可以只硬编码的文化融入到它。

+0

是的,我有这样的感觉,它可能有一些用户设置要做。不幸的是,它不是一个.NET应用程序,我不能轻松修改它。 所以剩下的问题是。我如何更改系统帐户的区域设置? – Tjelle 2009-07-07 21:23:50