2

内部エラー報告システム(関数dll内)があり、送信する情報の1つは、それを引き起こしたアプリケーションの名前です。

現在のコード:

string applicationname= Assembly.GetCallingAssembly().GetName().Name;

問題は、「App_Code.6p_c415d」のようなアプリケーション名を送信するときに、エラーが当社のWebサイトの1つから送信される場合です。

考えられる方法の1つは、アプリが実行可能ファイルなのかWebサイトなのかを動的に判断することでした(どのように行うのですか?)。Webサイトの場合は、アプリを含むフォルダーを取得します...

しかし、あなたがより良い方法を持っているなら、私たちはどんなアイデアにもオープンです^^

4

2 に答える 2

1

AppSettingsのキーを使用して、アプリケーションを識別できます。

于 2012-11-07T20:27:54.860 に答える
0

最終的に次の関数を作成しましたが、正常に機能します。

public static string getApplicationName()
{
    return string.IsNullOrEmpty(HttpRuntime.AppDomainAppId)?
        Assembly.GetEntryAssembly().GetName().Name : 
        new DirectoryInfo(HttpContext.Current.Server.MapPath("")).Name;
}
于 2012-11-08T08:46:12.103 に答える