الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

يوجد مشكلة في me.Session

مغلق
بدأه ابو السموأل في 24 ديسمبر 2004 · 21 رد · 3,495 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

اخواني انا عامل موقع بس في مشكلة هي اني عامل

("me.Session("ID

اضع فيها اسم المستخدم عندما يسجل الدخول يعني يعمل

login

هدا طبعا بالصفحة الرئسية

وا استخدم هذا ال

me.Session("ID

في صفحة اخرى عشان اعرف اذا المستخدم عمل دخول واذا كان عامل دخول اسمحلوا

يعمل

downlaod

المشكلة تكمن انو المستخدم بكون عامل دخول ولما يروح على صفحة الاخرى عشان يعمل

downlaod

مرة بكون ما في قيمة في("me.Session("ID و بالتالي لا يسمح بعمل downlaod

ومرو اخرى بكون في قيمة ويسمح بعمل downlaod

والي راح يخليني افقد عقلي انو على افترض انو شاف القيمة وسمحلك تعمل downlaod

واعملت refresh للصفحة او postback بسير قيمة me.Session("ID

فاضية مع العلم انو الموقع شغال على جهازي بدون مشاكل بس لما ارفع الموقع على النت تظهر المشكلة ولمزيد من التوضيح ارجو انكم تجربو بانفسكم

هذا عنوان الموقع

www.scgate.com

وهي

username: islam_firstly

pssword: 123456789

ارجوكم المساعدة فهدف هذا الموقع دعوي

وجزاكم الله كل خير

#3

هل أضفت ملف Web.Config للتطبيق؟

و يا ريت لو أرفقت لنا كود الصفحة المحتوي على المشكلة

You can fly while you can touch the sky

#4

السلام عليكم ورحمة الله وبركاته

جزاكم الله اخواني

اخي ismaeel

الموقع يعمل الان ارحو منك التجريبwww.scgate.com

ومعلومات الدخول

هي

username: islam_firstly

pssword: 123456789

اخي محمد خليل أبو صلاح

جزاك الله كل خير

نعم اخي هناك Web.Config للتطبيق لكن بالاعدادات stander لم اغير عليها شيء

واخي سارفق code كبسة الدخول و code الصفحة الاخرى وهي صفحة اسئلة السنوات السابقة

وهذا كود كبسة الدخول بعد ان يضع المستخدم الاسم و كلمة السر

Private Sub ImageButton1_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageButton1.Click

        If Me.passTextBox.Text.Length = 0 Or Me.UserTextBox.Text.Length = 0 Then
            Exit Sub
        End If
        Dim insert As String
        Dim insert2 As String
        Dim insert3 As String
        Dim realpass As String
        Dim realUser As String
        Dim insert4 As String
        insert = "select [Pass_Word] from Users where [User_Name]=N'" & Me.UserTextBox.Text & "' and [Pass_Word]= N'" & Me.passTextBox.Text & "'and [Activation]='True' "
        insert3 = "select [User_Name] from Users where [User_Name]=N'" & Me.UserTextBox.Text & "' and [Pass_Word]= N'" & Me.passTextBox.Text & "'and [Activation]='True' "
        insert2 = "update Users set Counter=Counter+1 where [User_Name]=N'" & Me.UserTextBox.Text & "'"

        Dim cmd As New SqlCommand(insert, cn)
        Dim cmd2 As New SqlCommand(insert2, cn)
        Dim com3 As New SqlCommand(insert3, cn)

        cn.Open()
        realpass = cmd.ExecuteScalar()
        realUser = com3.ExecuteScalar
        cn.Close()
        If realpass = Me.passTextBox.Text And realUser = Me.UserTextBox.Text Then
          Me.Session("ID") =realUser
                                        cn.Open()
            cmd2.ExecuteNonQuery()
            cn.Close()
        Else
            Me.Label2.Visible = True
            Exit Sub
        End If
    End Sub

هذا كود صفحة اسئلة السنوات السابقة الحدث load

  Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim insert As String
        Dim insert2 As String
        Dim null As System.DBNull
        Label4.Text = Me.Session("ID")

        If Me.Session("ID") = Nothing Then          
 DataGrid1.Columns(3).Visible = False
           
        Else
            DataGrid1.Columns(3).Visible = True
            
        End If
        If Not IsPostBack Then
           If Me.Session("ID") = Nothing Then
               DataGrid1.Columns(3).Visible = False
               
            Else
                DataGrid1.Columns(3).Visible = True
                
            End If

            Me.SqlDataAdapter1.SelectCommand.Parameters("@Param2").Value = Me.DropDownList1.SelectedIndex
            Me.SqlDataAdapter1.Fill(Me.SubjectDS1)
            DataBind()
            Me.SqlDataAdapter2.SelectCommand.Parameters("@Param2").Value = Me.DropDownList2.SelectedItem.Text
            Me.SqlDataAdapter2.Fill(Me.QuastionDS1)
            Me.DataGrid1.CurrentPageIndex = 0
            Me.DataGrid1.DataBind()

        End If

    End Sub

اخواني بدي اغلبكم بس لكم الاجر ان شاء الله فهدف الموقع دعوي وجزاكم الله كل خير

#5

:s بصراحة الكود تبعك لف راسي لف معاه ..

عموما عندي حل وسط ..

انت قلت ان ال Session مرات يعمل و مرات لأ ..

إذا هناك منطقة يضيع فيها أو لا يحجز أصلا و بالتالي استخدم جملة لكتابة ال Session لتعرف إن كانت له قيمة أو لا ..

لو كنت تشك أن المشكلة من إعدادات السيرفر فكل ما عليك هو التعديل على ملف ال Web.Config و إليك هذه الوصلة التي تساعدك كثيرا

http://samples.gotdotnet.com/quickstart/as...teoverview.aspx

تمنياتي لك بالتوفيق

You can fly while you can touch the sky

#6

انا دخلت الموقع و هو يعمل معي جيدا و عملت تحديث اكثر من مرة و ال Session ما زالت موجودة دون مشكلة ..

ملاحظة على الكود :

أخي عند التحقق من المستخدم و كلمة المرور لم إستخدمت ال ExecuteScalar ؟

هل الفائدة أن تستخرج سجلا واحدا ؟؟

لكن هنا ليس المكان الصحيح لها لأنك إضطررت لتنفيذ جملتيه استعلام من خلال ال Command و كان يجدر بك أن تستخدم

 reader=cmd.ExecuteReader(CommandBehavior.SingleRow)

و بالتالي في جملة الشرط سوف تكتب التالي فقط :

 If reader("User_Name") = Me.passTextBox.Text And reader("Pass_Word") = Me.UserTextBox.Text Then

و هذا أسرع لك وللتطبيق ..

You can fly while you can touch the sky

#7

:s الان ظهرت معي المشكلة عندما دخلت صفحة السنوات السابقة و اعتقد انه يجب أن ندرس سوية أسباب انتهاء ال Session .

هناك عدد من الأسباب :

-اقفال المتصفح و هذه مستبعدة طبعا.

-استخدام Session.Abandon

-استخدام Session.Remove

-استخدام Session.RemoveAll

-ال Session.Timeout مسندة على قمية صغيرة و إن لم يتم إسنادها سوف يتم إعتماد القيمة المخزنة على السيرفر و ربما هنا المشكلة و ربما لا.

أيضا ربما هناك مشكلة في ملف ال Web.Config عند وسم ال SessionState .

و ربما هناك كود في منطقة معينة من الصفحة الرئيسية يقوم بتفريغ ال Session حال حدوث الاجرائية Page_load في صفحة IndexP.aspx .

ادرس الكود جيدا بشكل متكامل و توقع كل شيء و صدقني تعقيدك للكود هو سبب رئيسي في وجود هذه العثرة و في صعوبة إيجاد حلها .. كان يمكنك ان تكتب أبسط من هذا الكود بكثير على الأقل لتخفف من بطء عرض الموقع.

حظا موفقا أخي:)

You can fly while you can touch the sky

#8

001

السلام عليكم

اخي والله راح انجن

وانا اكتب هذا الرد اكون قد اكملت 9ساعات ونصف على النت لاحل هذه المشكلة

اخي الكريم

المشكلة ليست في الكود (السبغتي) تبعي __026

وجربت ازيد ال

timeout

بس على الفاضي ام الاحتمالات الاخرى التي اوردتها

استخدام Session.Abandon

-استخدام Session.Remove

-استخدام Session.RemoveAll

انا ما استخدمت اي شيء من السابق

والدليل اني ازلت كل الصفحات من الموقع

ورفعت صفحتين وكتبت فيهم التالي

الصفحة الاولى فيها 2 textbox و command و HyperLink للصفحة الثانية و ضعت في الكوماند التالي

 Session("name") = TextBox1.Text
        Session("email") = TextBox2.Text

و في الصفحة الثانية image و command

وكتبت فيform load التالي

       Me.Label1.Text = Me.Session("name")
        Me.Label2.Text = Me.Session("email")

        If Me.Session("name") = "" Then
            Me.ImageButton1.Visible = False
        Else
            Me.ImageButton1.Visible = True

المفروض لما احط قيمة في

Session("name") = TextBox1.Text

تبقى الصورة واذا ما كان في قيمة يختفي الصورة بس المشكلة بقيت مرة يخفي ومرة لا .......لترى بعينك ادخل على الموقع وجرب طبعا اذا اشتغل معاك تمام من اول مرة لا تصدق واكبس على الكوماند اكثر من مرة ورح يبين معك الغلط

scgate.com

شو المشكلة 001 001 001

اخي بالنسبة للطريقة التي ارشدتني اليها لاختصر الكود فعلا اخنصر الكود كثير فجزاك الله كل خير ما شاء الله عليك

لكن اخي في شيء ناقص لانو بعطيني الغلط التالي

Invalid attempt to read when no data is present.

وهي الكود

 Dim insert As String
Dim reader As System.Data.SqlClient.SqlDataReader
''''insert = "select * from Users where [User_Name]=N'" & Me.UserTextBox.Text & "'"
  Dim cmd As New SqlCommand(insert, cn)
 cn.Open()
         reader = cmd.ExecuteReader(CommandBehavior.SingleRow)
If reader("User_Name") = Me.UserTextBox.Text And reader("Pass_Word") = Me.passTextBox.Text Then
cn.Close()
 Me.Session("ID") = me.UserTextBox

فاين الخطاء اخي

وجزاك الله كل خير

#9

الخطأ هو أن تتأكد أن ال reader عاد بالبيانات و من أجل ذلك أضف الشرط كالتالي :

cn.Open()
        reader = cmd.ExecuteReader(CommandBehavior.SingleRow)
IF(reader.Read()) THEN
    If reader("User_Name") = Me.UserTextBox.Text And reader("Pass_Word") = Me.passTextBox.Text Then
' your statments here


End IF
cn.Close()

تم تعديل هذه المشاركة بواسطة محمد خليل أبو صلاح في 25 ديسمبر 2004 في 12:54

You can fly while you can touch the sky

#10

أخي العزيز ..

قمت بعمل مثال لك بلغة ال VB.NET و قد تأكدت من أنه يعمل مليون بالمية و فكرته التالي :

وجود مجموعة من الأدوات لإدخال اسم المستخدم و كلمة المرور و زر يقوم بعملية ال Login و هو يستدعي حدث OnClick يقوم بفحص القيم و قد جعلت ال user و ال pass ثابتين و هما mohd و 123 و عند التحقق منهما يقوم بحجز Session ثم يعود لنفس الصفحة ليخفي اداوت الدخول "ملاحظة : يفضل دائما استخدام ال User Control" و يبقى لنا بالصفحة HyperLink تقوم بتحويلنا من الصفحة الرئيسية session-vb.aspx إلى صفحة cp.aspx والتي من المفروض ان تكون لوحة التحكم ..

كود session-vb.aspx :

<%@ Page Language="VB" %>
<script runat="server">

    Sub Page_Load()
    
      IF Not Session("userAccount")=Nothing Then
       txtUser.Visible=False
       txtPassword.Visible=False
       lblUser.Visible=False
       lblPassword.Visible=False
       btnLogin.Visible=False
      End IF
    End Sub

    Sub btnLogin_Click(sender As Object, e As EventArgs)
      IF txtUser.Text="mohd" And txtPassword.Text="123" Then
       Session("userAccount")=txtUser.Text
       Response.Redirect("session-vb.aspx")
      End IF
    End Sub

</script>
<html>
<head>
</head>
<body>
    <form runat="server">
        <p>
            <asp:HyperLink id="cp" runat="server" NavigateUrl="cp.aspx">لوحة التحكم الخاصة بك</asp:HyperLink>
        </p>
        <p>
            <asp:Label id="lblUser" runat="server">User : </asp:Label> <asp:TextBox id="txtUser" runat="server"></asp:TextBox>
        </p>
        <p>
            <asp:Label id="lblPassword" runat="server">Password : </asp:Label> <asp:TextBox id="txtPassword" runat="server" TextMode="Password"></asp:TextBox>
        </p>
        <p>
            <asp:Button id="btnLogin" onclick="btnLogin_Click" runat="server" Text=":: login  ::"></asp:Button>
        </p>
        <!-- Insert content here -->
    </form>
</body>
</html>

أما صفحة cp.aspx فبها حدث Page_Load يفحص وجود ال Session و إن لم يكن موجودا أعادنا للصفحة الرئيسية و إن كان موجودا سيظهر رسالة التحية و سيسند لها اسم المستخدم المخزن في ال Session لنتأكد من تخزين القيمة و ها هو المثال :

<%@ Page Language="VB" %>
<script runat="server">

    Sub Page_Load()
     IF  Session("userAccount")=Nothing Then
      Response.Redirect("session-vb.aspx")
     Else
       msg.Visible=True
       msg.Text=msg.Text & Session("userAccount")
     End IF
    
    End Sub

</script>
<html>
<head>
</head>
<body>
    <form runat="server">
        <center><b><i><font style="FONT-SIZE: 14pt" face="courier new">Welcome to your Control
            Panel</font></i></b> 
        </center>
        <p>
            <asp:Label id="msg" runat="server" visible="False">Welcome </asp:Label>
        </p>
        <p>
            <br />
            <asp:hyperlink id="back" runat="server" NavigateUrl="session-vb.aspx">:: Home Page ::</asp:hyperlink>
        </p>
    </form>
</body>
</html>

أتمنى أن أكون أفدتك ولو بالقليل :)

You can fly while you can touch the sky

#11

السلام عليكم ورحمة الله وبركاته

اخي محمد ابو صلاح جزاك الله كل خير على مجهودك لكن

للاسف لم يعمل الكود كما هو متوقع جرب بنفسك على هذا الينك

http://www.scgate.com/session-vb.aspx

اخي لا تنغر اذا زبطت معك من اول مرة جرب اكثر من مرة ستلاحظ ان الcontrols لا تختفي

اخي الا يوجد طريفة اخرى نستخدمهالان كل هدفي من عمل session هو السماح للمستخدم بعمل download وانا لا احتاج القيمة لاجل القيمة بل كل ما يهمني هو وجود قيمة في ال sission اذا كانت هناك طريقة اخرى لانستخدم فيها ال sission اكون ممنونك

وسامحني اخي اثقلت عليك

001

#12
اقتباس
اخي لا تنغر اذا زبطت معك من اول مرة جرب اكثر من مرة ستلاحظ ان الcontrols لا تختفي

عن جد ما بعرف شو احكيلك !! والله العظيم انها شغالة مية المية على موقعك واللي بيصير معك فقط ان زمن ال Session قصير لا أكثر .. انا جربت انتقلت ما بين الصفحات والادوات ظلت مختفية لفترة ثم ظهرت و بغض النظر ان عادت تظهر لان مجرد اختفائها حتى مع تحديث الصفحة والانتقال فهذا يعني ان الكود يعمل و المشكلة اما من ملف Web.Config او من ال Session.TimeOut أو من اعدادت سيرفر الشركة المضيفة إن كانت إعداداتك هي ال Standard فمعناها انك تخضع لقيودهم ..

تحياتي و لا أعتقد أن بإمكاني عمل أكثر من ذلك :)

You can fly while you can touch the sky

#13

الاخ أبو السموأل

بالنسبة لتعليق الاخ محمد خليل أبو صلاح

وتحديدا ان المشكلة تكون من ملف ال Web Config , في إعتقادي انك اذا استخدمت نفس الملف الذي يقوم الفجوال ستيديو مع التطبيق فانك تكون بعيد كل البعد عن إعدادات السيرفر اما بالنسبة لل Session TimeOut فهي 20 أو 30 دقيقية في الاعدادات ال Standard

اما بالنسبة لعمل Session تحتوي علي ID لمعرفة ان المستخدم مسجل الدخول ام لا في نظري ان هذا ليس الاسلوب الصحيح في عملية التأكد من صحة المستخدم لان موقعك يعمل علي الانترنت ويجب حمايته جيداً

وانا انصح باستخدام ال Authentication الذي يعتمد علي ال Forms وهي تعطيك مرونة أكبر في التحقق من الصحة وال Authentication موضوع كبير ولكنه ليس صعبا وهو الطريقة الاكثر استخداما لان في ملف ال Web.config يأتي التحقق من الصحة تلقائيا علي انه Authentication=Windows

واذا كان هنالك مستويات للمستخدمين ومستويات لصلاحياتهم يمكنك استخدام Role Based Authentication وهي أيضا ضمن ال Forms Authentication

قم بتوضيح أنواع المستخدمين وصلاحياتهم لمساعدتك أكثر

والله الموفق

#14

بالنسبة لل Session فهي تأخذ 20 دقيقة بالحالة لطبيعية ..

بالنسبة لل Form Authentication فهي الحل الأنسب في حال انه اراد تغيير الكود و لكن هو قام باستخدام ال Session بغض النظر عنها من جانب الأمن عليه ان يجد سبب وجود المشكلة من باب العلم على الأقل.

بخصوص ال Form Authentication قد تمت مناقشته هنا بشكل موسع نوعا ما و يمكنك الاستفادة منه حال رغبتك في ذلك و نصيحة في أي مشروع مستقبلي أن تفكر بها قبل الغير في موضوع الامان.

You can fly while you can touch the sky

#15

حاول ان تستخد الاجراء والدوال التالية

* هذا الاجراء يقوم باضافة قيمة ل Session معينة

Public Sub AddItemToSession(ByVal ItemName As String,ByVal Item As Object)

If IsItemInSession(ItemName) Then

Session.Item(ItemName) = Item

Else

Session.Add(ItemName, Item)

End If

End Sub

*هذه الدالة تقوم باسترجاع قيمة من ال Session ويجب أن تقوم بتمرير اسم ال Session

Public Function GetItemFromSession(ByVal ItemName As String,) As Object

If IsItemInSession(ItemName) Then

Return Session.Item(ItemName)

End Function

*هذه الدالة تقوم بالتأكد من أن ال SessionID موجود في ال SessionItem ام لا

Public Function IsItemInSession(ByVal ItemName As String,) As Boolean

If Not Session.Item(ItemName) Is Nothing Then Return True

End Function

يمكنك كتابة هذه الدوال في Class منفصل ثم تقوم بمناداة هذه الدوال من بقية صفحاتك باستخدام مفهوم الوراثة

وأعتقد ان me.Session تقوم باسترجاع قيمة ال Session الخاصة بالصفحة فقط حاول ان تحذف كلمة me وتستخدم Session فقط ... والله أعلم

والله الموفق

#16

السلام عليكم ورحمة الله وبركاته

اخواني جزاكم الله كل خير

اخي Ammar Gaffar ساجرب الحلول التي اقترحتها

بس اذا ما زبطت راح اجرب Form Authentication

اقتباس
بخصوص ال Form Authentication قد تمت مناقشته هنا بشكل موسع نوعا ما و يمكنك الاستفادة منه حال رغبتك في ذلك و نصيحة في أي مشروع مستقبلي أن تفكر بها قبل الغير في موضوع الامان

بس انا دورت على الموضوع الذي اشرت اليه اخي محمد ابو صلاح بس مالقيتوا

ممكن تحكيلي شو اسم الموضوع

او اللينك اخي محمد اذا سمحت

وجزاكم الله كل خير

#17

من هنا

/index.ph...T&f=129&t=51024

بالتوفيق

You can fly while you can touch the sky

#18

السلام عليكم اخواني

اخي محمد ابو صلاح قراءت الموضوع لكن هناك مشكلة انه لا يحقق ما هو مطلوب

حيث اني اذا اتبعت ما ذكر في شرح الاخت فلسطنية

لن يستطيع اي شخص غير مسجل التصفح الا اذا كان مسجل وذلك بسبب وجود الصفحات في فولدر securite اما كل ما اريده هو

الكل يستطيع الدخول الى الصفحات لكن

ان كان مسجل اعرض عمود download وان لم يكن مسجل لايعرض العمود فقط

فهل يمكن تعديل الكود ليطابق المطلوب

وجزاك الله كل خير

#19

المشكلة اني ذاهب للعمل الان ولكن سأعطيك الطريقة..

من خلال ملف Web.Config تستطيع تحديد الصلاحيات للمستخدمين

من خلال الخاصية Allow و منع البعض من خلال الخاصية Deny من داخل

الوسم authorization الموجود بداخل Web.Config

انظر هنا

http://www.csharpfriends.com/dotnet/top/co...fig_sample.aspx

وهذه هي الطريقة العامة:

authorization>
   <allow users="*" /> <!-- Allow all users -->
   <!--  <allow     users="[comma separated list of users]"
                             roles="[comma separated list of roles]"/>
                  <deny      users="[comma separated list of users]"
                             roles="[comma separated list of roles]"/>
            -->
  </authorization>

* تعني كل المستخدمين و لكن يمكنك تحديد البعض عن طريق وضع فواصل بين اسمائهم .

بالتوفيق

You can fly while you can touch the sky

#20

السلام عليكم ورحمة الله وبركاته

اخي محمد ابو صلاح فهمت بنسبة 30 % :mellow:

اذا ممكن شويت شرح

#21

اخي وانا ابحث عن حل للمشكلة تبعت

me.Session

لقيت هذا المقال في موقع شبكة المطورون العرب

وبدي رايك اذا سمحت

اقتباس
بيانات الجلسه و SQL Server

المستوى: مبتدئ      الاصدار: .NET 1.0, .NET 1.1

--------------------------------------------------------------------------------

يمكنك عزيزي القارئ حفظ بيانات الجلسه Session في ASP.NET بالاعتماد على محرك قواعد بيانات ضخم ألا وهو Microsoft SQL Server 2000 وإليك الطريقه :

1.بداية علينا تشغيل الملفInstallSqlState.sql الذي يحتوي على الـ T-SQL Statements اللازمه لإنشاء قاعدة البيانات, اذهب :

<Local Drive>\<Windows Folder>\Microsoft.NET\Framework\v1.0.2914

2.سيقوم الملف السابق حال تشغيله بإنشاء قاعدة بيانات بالإسم ASPState بالإضافة الى جدولين Tables في قاعدة بيانات Tempdb .

3.علينا الان تعديل ملف web.config وبالأخص sessionState الى التالي :

<sessionState mode="SQLServer"

sqlConnectionString="data source=GATEWAY;trusted_connection=true;userid=sa;password=;"

cookieless="false"

timeout="20" />

GATEWAY تعبر عن اسم الجهاز الذي عليه SQL Server

4.الان عزيزي قم بتجربة الكود التالي في صفحة ASP.NET

Session(“mySession”)=TextBox1.Text

كيفية الغاء قاعدة البيانات والجداول

لإلغاء هذه الجداول وقاعدة البيانات ما عليك الا تشغيل الملف UninstallSQLState.sql والموجود في نفس المجلد الموجود فيه الملف InstallSqlState.sql .

اضن انو ممكن يزبط بس المشكلة اني مش عارف شو اسوي بعد ما القي InstallSqlState.sql

#22

:D انا قرات مرة وانا بالطيارة ان هناك 3 طرق لحفظ ال Session واحدة منها بالمتصفح و اللي بتعرفها انت و الثانية عن طريق نظام ادارة قواعد البيانات MS SQL Server و الثالثة نسيتها و سوف أراجع لك الموضوع ما بين الكتب لأني لم أستخدمها حقيقة ..

بخصوص me.Session لا أظن ان me هي المشكلة لأنني جربت الكود الذي أرسلته انا لك على سيرفرك انت و ربما يكون الخطأ من me في حالة أنك عدلت الكود الي كتبته انا لأنني كتبت session و ليس me.Session و بالمناسبة me يقابلها this لمبرمجي ال #C و قد نوهت لأنه ربما يعاني البعض من نفس المشكلة في حال ان الجلسة تنهي بسرعة ..

باختصار لو انت عدلت الكود تبعي و كتبت me قبل Session فمنها المشكلة و الا فالمشكلة من اعدادات السيرفر الافتراضية لأنك ذكرت انك لم تغير على ملف Web.Config

بخصوص المزيد من الشرح بخصوص ال Form Authentication أتمنى ان تراجع محرك البحث جوجل و تكتب ASP.NET Form Authentication لأنني لا أملك الوقت الان للتفصيل بعد ما كتبته الاخت فلسطينية و المقال الذي أرسلته لك .

تمنياتي بالتوفيق

You can fly while you can touch the sky

هذا الموضوع مغلق.

مواضيع مشابهة