この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 14933|答える: 1

[ASP.NET] asp.net サイトディレクトリファイルの取得ファイルは空です

[リンクをコピー]
掲載地 2018/01/05 16:18:49 | | | |
まず、以下のようにウェブサイトのディレクトリファイルを取得するためにコードを貼り付けます:



この文を実行すると、対象が空であることを示す例外が出されます。以下の図に示されています:



なぜ私はnullになるのでしょうか?

なぜなら、このコードを実行しているスレッドは、現在のリクエストを処理する現在のスレッドではないからです

なぜ他の場所で入手しても無効にならないのですか?

これは、プログラム ASP.NET すでにHttpContextオブジェクトを先に述べたSystem.Runtime.Remoting.Messageaging.CallContext.HostContextプロパティに設定しているためです。

HttpApplicationには内部メソッドOnThreadEnter()、ASPがあります。 .NETはこのメソッドを呼び出し、外部コードを呼び出す前にHttpContextを切り替えます。例えば、パイプラインのイベントハンドラが実行される時や同期コンテキスト(AspNetSynchronizationContext)がコールバックを実行する際にです。 スレッドのCallContext.HostContextプロパティを切り替えた後、コードはHttpContext参照にアクセスできます。 注:HttpContextへの参照は実際にはHttpApplicationオブジェクトに保存されています。



この場合、ファイルの絶対パスを取得するにはどうすればいいですか?

System.Web.HttpRuntime.AppDomainAppPathにアクセスして、プログラムのルートパスを取得することができますそしてファイルの相対パスをスプライスします





先の:Intel CPUの根本的な脆弱性の完全な説明:世界中の携帯電話やコンピュータは例外ではありません
次に:autofacインスタンス作成手法の概要
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com