0

簡単な質問ですが、2回問題が発生したので質問したいと思います。

ASP.NET プロジェクトの URL からホスト名を取得しようとしています。コードは実際には Web ページではなく、クラス (ドメインの一部) にあります。System.Web がヘッダーに含まれています。Request.QueryString を使用しようとすると、認識されません。さらに悪いことに、HttpContext.Current を試すと、このエラーが発生します

'System.Web.HttpContext.Current' is null

これが私のコードです

using System.Web;

public class MyNightlyJob : AbstractJob
{
    public override void ExecuteJob(IJobExecutionContext context)
    {
          HttpContext.Current.Request.ServerVariables["HTTP_HOST"]; // does not work
          Request.ServerVariables["HTTP_HOST"]; // this does not work also
    }
}

私は何が欠けていますか?私の質問は実際には Request.ServerVariables に関するものですが、一方が機能する場合、もう一方も機能することに注意してください。

Request.ServerVariable はコード内でまったく認識されないことに注意してください。HttpContext.Current は認識されますが、実行時エラーが発生します。

4

1 に答える 1

0

HttpContext.Current が null かどうかを確認する必要があります。null の場合は、取得する適切なコンテキストにありません。

関数を変更できる場合は、HttpContext.Current を変数として渡すか、ホストを変数として渡します。

于 2013-10-02T21:45:31.950 に答える