पर अपवाद भेज दिया गया है मैं एक asp.net MVC 5 आवेदन जिसमें मैं ReturnUrl पर रीडायरेक्ट करने कोशिश कर रहा था नीचे कोड लागू करके विकासशील हूँ:सर्वर हैडर नहीं जोड़ी जा सकती HTTP हेडर के बाद @ Html.AntiForgery
[HttpPost]
[AllowAnonymous]
public ActionResult Login(UserLogin model, string returnUrl)
{
if (ModelState.IsValid)
{
string EncryptedPassword = GetMD5(model.Password);
if (DataAccess.DAL.UserIsValid(model.Username, EncryptedPassword))
{
FormsAuthentication.SetAuthCookie(model.Username, true);
if (String.IsNullOrEmpty(returnUrl))
{
return RedirectToAction("Index", "Home");
}
else
{
Response.Redirect(returnUrl);
}
}
else
{
ModelState.AddModelError("", "Invalid Username or Password");
}
}
return View();
}
उपरोक्त कोड ठीक काम कर रहा है, लेकिन समस्या यह है कि जब मैं लॉगिन फॉर्म पोस्ट करता हूं, तो यह मुझे एक अपवाद देता है जिसे मैंने कभी सामना नहीं किया है और मुझे उस अपवाद को हल करने में कठिनाइयों का सामना करना पड़ रहा है जो दृश्य में उत्पन्न हो रहा है लॉगिन.cshtml, लाइन पर:
@Html.AntiForgeryToken()
और एक्सेप्टि उस पर यह फेंकता है:
Server cannot append header after HTTP headers have been sent.
मैंने बहुत कुछ शोध किया है लेकिन मैं निष्कर्ष तक पहुंचने में असमर्थ हूं। जब मैं @ Html.AntiForgeryToken() लाइन को हटाता हूं, तो मेरा एप्लिकेशन ठीक काम करता है, लेकिन मैं यह नहीं करना चाहता, मैं चाहता हूं कि मेरा एप्लिकेशन क्रॉस-साइट अनुरोध सुरक्षित रहे।
क्या कोई मेरी मदद कर सकता है, मैं इस अपवाद से कैसे छुटकारा पा सकता हूं?
व्यू कोड दिखाएं जहां आप लाइन @ Html.AntiForgeryToken() – ojf
का उपयोग करते हैं, क्या आपके व्यू में आपके फॉर्म में @ @ HTML.AntiForgeryToken() 'है? –
@ पेड्रोबेनेवाइड हां, यह शुरुआती फॉर्म के अंदर है .. सोरी देर से उत्तर के लिए। –