Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 14933|Svare: 1

[ASP.NET] asp.net Get site directory-filen er tom

[Kopier lenke]
Publisert på 05.01.2018 16:18:49 | | | |
Først limer du inn koden for å hente nettsidekatalogfilen, som følger:



Etter å ha kjørt denne setningen, vil et unntak bli kastet som sier at objektet er tomt, som vist i figuren nedenfor:



Hvorfor får jeg null?

Fordi tråden som kjører denne koden ikke er den nåværende tråden som håndterer den nåværende forespørselen

Hvorfor er det ikke null når du får det et annet sted?

Dette er fordi ASP.NET program allerede har satt HttpContext-objektet til egenskapen System.Runtime.Remoting.Messaging.CallContext.HostContext, nevnt tidligere, før det kaller koden din.

HttpApplication har en intern metode OnThreadEnter(), ASP. .NET kaller denne metoden for å bytte HttpContext før ekstern kode kalles, for eksempel når pipelinens hendelsesbehandler kjøres, eller når synkroniseringskonteksten (AspNetSynchronizationContext) utfører en callback. Etter å ha byttet trådens CallContext.HostContext-egenskap, kan koden vår få tilgang til HttpContext-referansen. Merk: Referansen til HttpContext lagres faktisk i HttpApplication-objektet.



Hvordan få den absolutte stien til filen i dette tilfellet?

Vi kan få tilgang til System.Web.HttpRuntime.AppDomainAppPath for å hente rotstien til programmet, og deretter skjøter de relative stiene i filen





Foregående:Fullstendig forklaring på den underliggende sårbarheten til Intel-CPU-er: Ingen mobiltelefon/datamaskin i verden blir spart
Neste:Sammendrag av metodikken for autofacc-opprettelsesinstanser
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com