Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

क्यों Asp.net MVC4 SQL सर्वर सत्र राज्य भंडारण के कुकी रहित का उपयोग नहीं कर सकता है

Html.BeginForm() . में एक बग है हेल्पर (वह जो कोई तर्क नहीं लेता) जब cookieless="true" के साथ प्रयोग किया जाता है . यह यूआरएल उत्पन्न करते समय सत्र आईडी को ध्यान में नहीं रखता है। तो इसके बजाय:

<form action="/(S(kkt0zgbnuaoxad23ew33iod4))/home/index" method="post">

यह उत्पन्न करता है:

<form action="/home/index" method="post">

जब आप /home/index . पर पोस्ट करते हैं एक रीडायरेक्ट स्वचालित रूप से /(S(kkt0zgbnuaoxad23ew33iod4)) पर किया जाता है एएसपी.नेट द्वारा। रीडायरेक्ट का मतलब GET अनुरोध => आपकी POST कार्रवाई कभी भी हिट नहीं होगी।

समाधान के रूप में आप एक कस्टम Html.BeginForm . लिख सकते हैं बग को ठीक करने में सहायक:

public static class FormExtensions
{
    public static IDisposable MyBeginForm(this HtmlHelper htmlHelper)
    {
        var rawUrl = htmlHelper.ViewContext.HttpContext.Request.RawUrl;
        var formAction = htmlHelper.ViewContext.HttpContext.Response.ApplyAppPathModifier("~/") + rawUrl;
        var builder = new TagBuilder("form");
        builder.MergeAttributes(new RouteValueDictionary());
        builder.MergeAttribute("action", formAction);
        builder.MergeAttribute("method", HtmlHelper.GetFormMethodString(FormMethod.Post), true);
        htmlHelper.ViewContext.Writer.Write(builder.ToString(TagRenderMode.StartTag));
        var form = new MvcForm(htmlHelper.ViewContext);
        return form;
    }
}

और फिर उपयोग करें:

@using (Html.MyBeginForm())
{
    ...
}

जहां तक ​​बिगिनफॉर्म हेल्पर के अन्य अधिभारों का संबंध है, उन्हें ठीक काम करना चाहिए और सत्र आईडी युक्त उचित कार्रवाई उत्पन्न करनी चाहिए।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कुल गिनती और सबसेट की गिनती पाने का सबसे आसान तरीका?

  2. मैं टी-एसक्यूएल चयन में प्रत्येक पंक्ति के लिए यादृच्छिक संख्या कैसे उत्पन्न करूं?

  3. अल्पविराम से अलग किए गए मान अलग करें और sql सर्वर में तालिका में संग्रहीत करें

  4. SQL सर्वर - यह समझना कि MIN(पाठ) कैसे काम करता है

  5. प्रत्येक N . के लिए नवीनतम रिकॉर्ड के लिए इष्टतम प्रदर्शन करने वाली क्वेरी