Nome do post meio estranho, mas vamos lá!
Esses dias, fazendo um uploadzinho maroto, o cliente precisou enviar um arquivo "grande" só que na hospedagem dele, mesmo adicionando os parâmetros de configuração no web.config como executionTimeout, maxRequestLength, maxAllowedContentLength, etc, continuava o erro. Dando uma vasculhada na net algumas pessoas resolveram colocando o KeepAlive como false mas eu estava usando o WebClient que não tem o atributo e não queria reprogramar o que já havia feito. Eis que encontro uma solução que caiu como uma luva mesmo não usando o atributo.
Adicione ao projeto a classe ExtendedWebClient conforme o código abaixo:
public class ExtendedWebClient : WebClient
{
public int Timeout { get; set; }
public new bool AllowWriteStreamBuffering { get; set; }
protected override WebRequest GetWebRequest(Uri address)
{
var request = base.GetWebRequest(address);
if (request != null)
{
request.Timeout = Timeout;
var httpRequest = request as HttpWebRequest;
if (httpRequest != null)
{
httpRequest.AllowWriteStreamBuffering = AllowWriteStreamBuffering;
}
}
return request;
}
public ExtendedWebClient()
{
Timeout = 100000;
}
}
Então, agora é apenas substituir o WebClient por ExtendedWebClient ficando assim:
ExtendedWebClient ftp = new ExtendedWebClient();
ftp.Timeout = Timeout.Infinite;
ftp.AllowWriteStreamBuffering = false;
E o resto segue!
Pode utilizar o KeepAlive? Pode! Basta fazer da mesma forma que o AllowWriteStreamBuffering.
Implementação do ASP.NET (C#) com o Mikrotik (Hotspot)
Esse projeto até hoje tem demanda e, a pedidos de vocês, coloquei um pequeno projeto no GitHub para que possamos ir incrementando pouco a pouco com nossas idéias e sugestões. Hoje está bem básico e fiz o mais rápido possível para dar aquela forcinha.
Está em WebForm para que fique bem entendível e sirva de base para utilizar com outras linguagens de programação (PHP, Java, etc).
Lembrando que no post anterior, http://thiagomarcal.blogspot.com.br/2011/09/adicionando-uma-pagina-de-cadastro-de.html, tem toda a configuração inicial e muitos de vocês manjam melhor do que eu com o Mikrotik. Beleza?
Dúvidas, sugestões, correções, etc deixem nos comentários. Se quiserem algo muito específico e queiram me presentear com um Mikrotik, eu aceito! :)
Download: https://github.com/tmarcal/Mikrotik
Está em WebForm para que fique bem entendível e sirva de base para utilizar com outras linguagens de programação (PHP, Java, etc).
Lembrando que no post anterior, http://thiagomarcal.blogspot.com.br/2011/09/adicionando-uma-pagina-de-cadastro-de.html, tem toda a configuração inicial e muitos de vocês manjam melhor do que eu com o Mikrotik. Beleza?
Dúvidas, sugestões, correções, etc deixem nos comentários. Se quiserem algo muito específico e queiram me presentear com um Mikrotik, eu aceito! :)
Download: https://github.com/tmarcal/Mikrotik
No feriado, vamos resolver problemas
Postado por
Thiago Marçal
on quarta-feira, 7 de setembro de 2016
/
Marcadores:
installshield,
windows service
/
Comments: (0)
Dica rápida para que está tendo o erro "Could not create _isconfig.xml for use with InstallUtilLib.dll" ao compilar um projeto de instalação (InstallShield). O nome do projeto que está sendo instalado não pode ser igual ao nome do projeto de instalação (e vice-versa). :D
Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
Postado por
Thiago Marçal
on terça-feira, 6 de setembro de 2016
/
Marcadores:
segurança,
web.config
/
Comments: (0)
Retornando das cinzas com dicas, macetes e artigos depois de tanto tempo e inúmeros e-mails o bom filho a casa torna. Restaurando os e-mails de alguns internautas duvidosos, muitos se depararam o erro:
"Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information."
Geralmente sempre acontece quando tentam publicar uma aplicação em um servidor externo e dizem: na minha máquina estava funcionando! Não é? Se identificou? Adicionem no web.config o nível de segurança:
<system.web>
<trust level="Full"/>
</system.web>
E se não der para adicionar ou se não funcionar? Rapaz, esse assunto é polêmico (envolve segurança, bla bla bla). Tem servidores e servidores e não vale a dor de cabeça de ter adaptar demais sua aplicação para o que o provedor te oferece. Acredito que para uma boa relação ambos tem que caminhar de mão dadas.
"Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information."
Geralmente sempre acontece quando tentam publicar uma aplicação em um servidor externo e dizem: na minha máquina estava funcionando! Não é? Se identificou? Adicionem no web.config o nível de segurança:
<system.web>
<trust level="Full"/>
</system.web>
E se não der para adicionar ou se não funcionar? Rapaz, esse assunto é polêmico (envolve segurança, bla bla bla). Tem servidores e servidores e não vale a dor de cabeça de ter adaptar demais sua aplicação para o que o provedor te oferece. Acredito que para uma boa relação ambos tem que caminhar de mão dadas.