Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 14933|Resposta: 1

[ASP.NET] asp.net O arquivo do diretório Get site está vazio

[Copiar link]
Publicado em 05/01/2018 16:18:49 | | | |
Primeiro, cole o código para obter o arquivo do diretório do site, da seguinte forma:



Após executar essa frase, uma exceção será lançada dizendo que o objeto está vazio, como mostrado na figura abaixo:



Por que eu fico nulo?

Porque a thread que executa esse código não é a thread atual que lida com a requisição atual

Por que não é nulo quando você consegue em outro lugar?

Isso porque ASP.NET programa já definiu o objeto HttpContext para a propriedade System.Runtime.Remoting.Messaging.CallContext.HostContext mencionada antes de chamar seu código.

HttpApplication possui um método interno OnThreadEnter(), ASP. .NET chama esse método para alternar o HttpContext antes de chamar código externo, por exemplo, sempre que o gerenciador de eventos do pipeline é executado, ou quando o contexto de sincronização (AspNetSynchronizationContext) executa um callback. Após trocar a propriedade CallContext.HostContext do thread, nosso código pode acessar a referência HttpContext. Nota: A referência ao HttpContext está, na verdade, salva no objeto HttpApplication.



Como obter o caminho exato do arquivo nesse caso?

Podemos acessar System.Web.HttpRuntime.AppDomainAppPath para obter o caminho raiz do programa, e então emendar os caminhos relativos do arquivo





Anterior:Explicação completa da vulnerabilidade subjacente das CPUs Intel: Nenhum telefone/computador móvel no mundo é poupado
Próximo:Resumo da metodologia de criação de instâncias autofac
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com