在一个web应用程序中,我有一个IHttpHandler,它在调用时会启动一个连接到firebird数据库的常规应用程序,并从数据库中解析一些日期。
从桌面运行时,应用程序会执行应有的操作而不会出现任何问题。但是当它从httpHandler启动时,最终会出现错误的文化并且无法解析日期。 我设置了web.config和CurrentThread.CurrentCulture的文化,但它仍然以错误的方式结束。 所有这些都是从英文Windows Server 2003运行,文化设置为sv-SE。
那么有没有办法使用具有特定文化的System.Diganotics.Process.Start启动应用程序? 如果新开始的流程没有使用哪种文化?
答案 0 :(得分:3)
我认为没有办法指明文化。 CultureInfo类特定于.NET,据我所知,Windows中没有特定于应用程序的文化概念。无法使用Process和ProcessStartInfo类指定区域性。
但是,我认为文化与当前用户相关联,因此可能发生的事情是您的Web应用程序在不同用户的上下文中运行,因此当从Web应用程序启动时,其他应用程序会获得其用户'文化背景。因此,您可以更改用于运行Web应用程序的用户的区域性(区域设置)。
另一方面,如果它是'你正在运行的.NET应用程序,你可以将文化硬编码到其中。