ฉันมีไซต์ MVC3 ใน C # ฉันมีมุมมองเฉพาะที่ถูกป้อนพารามิเตอร์การสืบค้นจากฟังก์ชัน JavaScript ฟังก์ชันจะเปลี่ยนเส้นทางไปยังไซต์ผ่าน
window.location.href = "../ActionName?" + query_string;
query_string เป็นสตริงพารามิเตอร์เคียวรีแบบไดนามิกที่สร้างโดยฟังก์ชัน JavaScript
สาเหตุของความแปลกนี้คือบางครั้งฟังก์ชันเดียวกันจะส่ง URL ไปยังเว็บฟอร์ม ASP.Net เนื่องจากต้องใช้ตัวควบคุมReportviewerการดำเนินการทางเลือกคือการบันทึกพารามิเตอร์บางตัวในกรณีนี้ที่ส่งผ่านไปยังมุมมอง (สามารถอธิบายเพิ่มเติมได้หากไม่สมเหตุสมผล)
ทุกอย่างทำงานได้ดีจนกว่าฉันจะแนะนำ [Authorize] ให้กับวิธีการดำเนินการ หยุดทำงานถ้าอยู่ในสถานที่ทำงานได้ดีโดยไม่ต้องและ [Authorize] ทำงานได้ดีกับวิธีการอื่น ๆ ทั้งหมด
URL ทั้งหมดในกรณีนี้มีความยาว 966 ตัวอักษรหลังจากการวิจัยดูเหมือนว่าค่าmaxQueryStringLengthคือ 2048 ตามค่าเริ่มต้น แต่สามารถแทนที่ค่าใดก็ได้ของประเภทจำนวนเต็มดังนั้นสำหรับการยิ้มฉันจึงเพิ่ม
<security>
<requestFiltering>
<requestLimits maxQueryString="2048"></requestLimits>
</requestFiltering>
</security>
คีย์ไปยังไฟล์กำหนดค่าเว็บภายใต้คีย์
ไม่มีความสุขที่นั่นฉันจึงไร้สาระและทำมันเป็น 4096 แต่ก็ยังไม่มีความสุข
ขณะนี้ URL ทั้งหมดมีความยาว 966 ตัวอักษรแอตทริบิวต์ authorize จึงไม่สามารถเพิ่มอักขระ 1082-3130 อื่นได้อย่างจริงจังดังนั้นฉันจะทราบได้อย่างไรว่าข้อผิดพลาดคืออะไรหรือเหตุใดการตั้งค่าจึงไม่มีผล
VS2010 Pro SP1