Saya memiliki situs MVC3 di C #, saya memiliki tampilan tertentu yang diberi makan parameter kueri dari fungsi JavaScript, fungsi tersebut dialihkan ke situs melalui
window.location.href = "../ActionName?" + query_string;
query_string menjadi string parameter kueri dinamis yang dibuat oleh fungsi JavaScript.
Alasan keanehan ini adalah bahwa terkadang fungsi yang sama meneruskan URL ke formulir web ASP.Net karena harus menggunakan kontrol reportviewer , tindakan alternatifnya adalah menyimpan beberapa parameter dalam hal ini ia lolos ke tampilan. (Bisa menjelaskan lebih banyak jika itu tidak masuk akal)
Semuanya berfungsi dengan baik sampai saya memperkenalkan [Otorisasi] ke metode tindakan. Henti jika ada di tempatnya, berfungsi dengan baik tanpa, dan [Otorisasi] berfungsi dengan baik di semua metode lainnya.
Seluruh URL dalam hal ini panjangnya 966 karakter, setelah penelitian tampaknya nilai maxQueryStringLength adalah 2048 secara default tetapi dapat diganti ke nilai jenis integer apa pun, jadi hanya untuk senyum saya menambahkan
<security>
<requestFiltering>
<requestLimits maxQueryString="2048"></requestLimits>
</requestFiltering>
</security>
kunci ke file konfigurasi web di bawah kunci.
Tidak ada kegembiraan di sana, jadi saya menjadi konyol dan berhasil mencapai 4096, tetap tidak ada kegembiraan.
Sekarang dengan seluruh URL sepanjang 966 karakter, atribut authorize tidak dapat secara serius menambahkan 1082-3130 karakter lainnya, jadi bagaimana saya dapat menentukan apa kesalahan sebenarnya, atau mengapa pengaturan tidak berlaku.
VS2010 Pro SP1