Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 14933|Răspunde: 1

[ASP.NET] asp.net Fișierul directorului site-ului Get este gol

[Copiază linkul]
Postat pe 05.01.2018 16:18:49 | | | |
Mai întâi, lipiți codul pentru a obține fișierul directorului site-ului, după cum urmează:



După rularea acestei propoziții, va fi aruncată o excepție care spune că obiectul este gol, așa cum se arată în figura de mai jos:



De ce primesc nul?

Pentru că firul care rulează acest cod nu este firul curent care gestionează cererea curentă

De ce nu este nulă când o primești în altă parte?

Acest lucru se datorează faptului că ASP.NET programul a setat deja obiectul HttpContext pe proprietatea System.Runtime.Remoting.Messaging.CallContext.HostContext menționată anterior înainte de a chema codul tău.

HttpApplication are o metodă internă OnThreadEnter(), ASP. .NET apelează această metodă pentru a comuta HttpContext înainte de a chema cod extern, de exemplu, ori de câte ori se execută handler-ul de evenimente al pipeline-ului sau când contextul de sincronizare (AspNetSynchronizationContext) rulează un callback. După schimbarea proprietății CallContext.HostContext a firului, codul nostru poate accesa referința HttpContext. Notă: Referința la HttpContext este de fapt salvată în obiectul HttpApplication.



Cum pot obține calea exactă a fișierului în acest caz?

Putem accesa System.Web.HttpRuntime.AppDomainAppPath pentru a obține calea rădăcină a programului, și apoi îmbinează căile relative ale fișierului





Precedent:Explicație completă a vulnerabilității de bază a procesoarelor Intel: Niciun telefon mobil sau calculator din lume nu este cruțat
Următor:Rezumat al metodologiei instanței de creare autofac
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com