Ho un sito MVC3 in C #, ho una vista particolare che riceve parametri di query da una funzione JavaScript, la funzione reindirizza al sito tramite
window.location.href = "../ActionName?" + query_string;
query_string è la stringa dei parametri di query dinamici creata dalla funzione JavaScript.
La ragione di questa stranezza è che a volte la stessa funzione passa l'URL a un webform ASP.Net a causa di dover utilizzare il controllo reportviewer , l'azione alternativa è salvare alcuni parametri in questo caso passa alla visualizzazione. (Può elaborare di più se ciò non ha senso)
Il tutto funziona bene fino a quando non introduco [Autorizza] al metodo di azione. Si interrompe se è a posto, funziona senza problemi e [Autorizza] funziona bene su tutti gli altri metodi.
L'intero URL in questo caso è lungo 966 caratteri, dopo la ricerca sembra che il valore maxQueryStringLength sia 2048 per impostazione predefinita ma può essere sovrascritto da qualsiasi valore di tipo intero, quindi solo per i sorrisi ho aggiunto il
<security>
<requestFiltering>
<requestLimits maxQueryString="2048"></requestLimits>
</requestFiltering>
</security>
key al file di configurazione web sotto la chiave.
Nessuna gioia lì, quindi sono diventato ridicolo e ho fatto 4096, ancora nessuna gioia.
Ora con l'intero URL lungo 966 caratteri, l'attributo di autorizzazione non può aggiungere seriamente altri 1082-3130 caratteri, quindi come posso determinare qual è effettivamente l'errore o perché l'impostazione non ha effetto.
VS2010 Pro SP1