8

在一个 web 应用程序中,我有一个 IHttpHandler,它在被调用时会启动一个连接到 firebird 数据库的常规应用程序,除此之外,它会解析数据库中的一些日期。

从桌面运行时,应用程序可以毫无问题地执行应有的操作。但是当它从 httpHandler 启动时,会以错误的文化结束,并且无法解析日期。我已经设置了 web.config 和 CurrentThread.CurrentCulture 的文化,但它仍然以错误的结果告终。所有这些都是从文化设置为 sv-SE 的英文 Windows Server 2003 运行的。

那么有没有办法使用 System.Diganotics.Process.Start 以特定文化启动应用程序?如果没有新启动的流程使用哪种文化?

4

1 回答 1

3

我认为没有办法指定文化。CultureInfo 类是特定于 .NET 的,据我所知,Windows 中没有特定于应用程序的文化概念。无法使用 Process 和 ProcessStartInfo 类指定文化。

但是,我相信文化与当前用户相关联,所以可能发生的情况是您的 Web 应用程序在不同用户的上下文中运行,因此当从 Web 应用程序启动时,另一个应用程序会获取其“用户的文化设置” . 因此,您可以更改用于运行 Web 应用程序的用户的文化(区域设置)。

另一方面,如果它是您正在运行的 .NET 应用程序,您可以将文化硬编码到其中。

于 2009-07-07T18:36:39.923 回答