5

Server.MapPath() メソッドを使用して、作成した仮想ディレクトリを物理パスにマップしたいと考えています。

問題は、.net 環境が Server.MapPath() を認識しないことです。

Google からは、System.Web を使用して HttpContext.Current.Server を使用することになっていると言われましたが、System.Web を使用しているにもかかわらず、HttpContext が認識されません。(そして私はチェックしました-HttpContextはSystem.Webのクラスの1つです)

ヘルプ?

4

3 に答える 3

3

プロジェクトに System.Web が含まれていることを確認してください。

  1. プロジェクト ノード (ソリューション エクスプローラー ウィンドウ) を右クリックします。
  2. コンテキスト メニューで、[参照の追加] をクリックします。
  3. .NET タブのリスト項目で System.Web を選択します。
  4. OKボタンを押す

Server.MapPath が利用可能になります。

于 2009-10-05T09:20:42.923 に答える
3

Web アプリケーションがある場合は、自動的に への参照があり、クラスSystem.Web.dllにアクセスできる必要があります。System.Web.HttpContext誤って参照を削除していないことを確認してください。完全な名前空間を指定せずにクラスusing System.Web;にアクセスするには、ステートメントが必要です。HttpContext

Web アプリケーションがない場合は、クラスにSystem.Web.dllアクセスするために参照を追加する必要がありますが、それはあまり役に立ちません。HttpContextWeb アプリケーションではないため、HTTP コンテキストも Web ルート フォルダーも存在しないため、MapPath メソッドを使用できません。

于 2009-10-05T09:22:06.853 に答える
1

ここでも同じ問題があります。ASP.net 4.0 Webアプリケーション、.ashxハンドラー、using System.Web上部に。Server.MapPath()私が持っている本が使用するように言っているもの、またはSystem.Web.HttpServerUtility.MapPath()グーグルとMSDNが出し続けているものを使用することができませんでした。HttpServerUtility.MapPath()私も上記のように使えませんでした。

context.Server.MapPath()しかし、ここでの他の答えの1つは、私の方法でどちらが機能するかを試すように促しましたProcessRequest(HttpContext context)

于 2011-06-12T19:20:58.603 に答える