Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 14933|Respuesta: 1

[ASP.NET] asp.net El archivo de directorio del sitio Get está vacío

[Copiar enlace]
Publicado en 5/1/2018 16:18:49 | | | |
Primero, pega el código para obtener el archivo del directorio del sitio web, de la siguiente manera:



Tras ejecutar esta frase, se lanzará una excepción diciendo que el objeto está vacío, como se muestra en la figura siguiente:



¿Por qué me sale nulo?

Porque el hilo que ejecuta este código no es el hilo actual que gestiona la solicitud actual

¿Por qué no es nulo si lo consigues en otro sitio?

Esto se debe a que ASP.NET programa ya ha configurado el objeto HttpContext en la propiedad System.Runtime.Remoting.Messaging.CallContext.HostContext mencionada antes de llamar a tu código.

HttpApplication tiene un método interno OnThreadEnter(), ASP. .NET llama a este método para cambiar el HttpContext antes de llamar a código externo, por ejemplo, siempre que se ejecuta el gestor de eventos de la canalización o cuando el contexto de sincronización (AspNetSynchronizationContext) ejecuta una callback. Tras cambiar la propiedad CallContext.HostContext del hilo, nuestro código puede acceder a la referencia HttpContext. Nota: La referencia al HttpContext se guarda en realidad en el objeto HttpApplication.



¿Cómo obtener la ruta exacta del archivo en este caso?

Podemos acceder a System.Web.HttpRuntime.AppAppDomainAppPath para obtener la ruta raíz del programa, y luego empalmar los caminos relativos del archivo





Anterior:Explicación completa de la vulnerabilidad subyacente de las CPUs Intel: Ningún teléfono móvil o ordenador en el mundo se salva
Próximo:Resumen de la metodología de creación de instancias de autofac
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com