XmlSerializer Não foi possível localizar arquivo C:. \ Windows \ Temp \ * dll

votos
4

Tenho uma aplicação web 2.0 ASP.NET em execução em um servidor compartilhado de um provedor de hospedagem web bem conhecido. Ocasionalmente eu parecem estar recebendo erros como este:

Não foi possível encontrar o arquivo 'C: \ WINDOWS \ TEMP \ lxnmfrsz.dll'. Descrição: Uma exceção não tratada ocorreu durante a execução da solicitação da web atual. Examine o rastreamento de pilha para obter mais informações sobre o erro e onde foi originado no código.

Detalhes da exceção: System.IO.FileNotFoundException: não foi possível encontrar o arquivo 'C: \ WINDOWS \ TEMP \ lxnmfrsz.dll'.

Eu procurei em torno e parece que este é um problema comum. Uma solução é limpar a pasta temp ou reiniciar IIS. Desde que eu não tenho acesso a essas coisas no servidor eu não possuo, aqueles que não são realmente opções. Eu tentei definir o diretório temporário para um diretório diferente usando uma directiva em web.config, mas ainda parece estar usando o diretório temporário padrão. Existe alguma outra maneira eu posso mudar o diretório temporário e / ou resolver este problema?

Publicado 19/05/2009 em 16:44
fonte usuário
Em outras línguas...                            


3 respostas

votos
7

Se você sempre serializar o mesmo tipo, você pode tentar binários XmlSerializer pré-geração usando sgen.exe . Nesse caso XmlSerializer não vai procurá-los.

Respondeu 19/05/2009 em 16:54
fonte usuário

votos
0

A única ressalva aqui é que se os genéricos estão envolvidos (por exemplo, uma lista de <> do seu tipo), não parece ser possível usar SGen para pregenerate a montagem serializer.

A solução para isso é derivar da List <MyType> com seu próprio tipo, então incluir este na assembléia pregenerated.

Respondeu 07/04/2011 em 11:23
fonte usuário

votos
-1

Eu não poderia capaz de mudar o meu projeto (solução anterior), então eu tenho que encontrar uma solução para o meu cliente no site do cliente e após um longo tempo tentando encontrar uma solução, alterando antivírus Kaspersky, finalmente eu encontrei a solução. No IIS clique direito em Sites e selecione Adicionar site ... e começar o seu site em outra porta. É isso. Acabado!!. yohaaaaa.

Respondeu 14/08/2019 em 12:48
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more