8

1 つの webapplication には、呼び出されると、firebird データベースに接続する通常のアプリケーションを開始し、とりわけデータベースからいくつかの日付を解析する IHttpHandler があります。

デスクトップから実行すると、アプリケーションは問題なく実行されます。しかし、 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 に答える