Eu tenho um site MVC3 em C #, tenho uma exibição específica sendo alimentada com parâmetros de consulta de uma função JavaScript, a função redireciona para o site via
window.location.href = "../ActionName?" + query_string;
query_string, sendo a sequência de parâmetros de consulta dinâmica criada pela função JavaScript.
A razão para essa estranheza é que, às vezes, a mesma função passa a URL para um formulário da Web do ASP.Net, devido ao uso do controle reportviewer , a ação alternativa é salvar alguns parâmetros, neste caso, passa para a exibição. (Pode elaborar mais se isso não fizer sentido)
A coisa toda funciona bem até eu apresentar [Autorizar] ao método de ação. Quebra se estiver no lugar, funciona bem sem e [Autorizar] funciona bem em todos os outros métodos.
A URL inteira, neste caso, tem 966 caracteres, depois de pesquisas, parece que o valor maxQueryStringLength é 2048 por padrão, mas pode ser substituído por qualquer valor do tipo número inteiro; portanto, apenas por sorrisos, adicionei o
<security>
<requestFiltering>
<requestLimits maxQueryString="2048"></requestLimits>
</requestFiltering>
</security>
chave para o arquivo de configuração da web abaixo da chave.
Não há alegria por lá, então fiquei ridículo e fiz 4096, ainda sem alegria.
Agora, com a URL inteira com 966 caracteres, o atributo authorize não pode adicionar seriamente outros 1082-3130, portanto, como posso determinar qual é realmente o erro ou por que a configuração não está entrando em vigor.
VS2010 Pro SP1