تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
PAGE CLOSING\UNLOAD Event
#1
السلام عليكم اخوواني
انا حاليا اصمم موقع للدردشة ...
و عندما يدخل مستخدم للروم .. فان الموقع يطلب اسمه ليقوم بالمشاركة في الرووم .. و يصبح "اونلاين"
لكن المشكلة هي عندما يقوم بالخروج .. فيفرض ان يقوم الموقع بارسال بيانات للسيرفر تفيد بان هذا المستخدم اصبح الان غير متوفر و اصبح "اوفلاين"
فباختصار انا اريد تنفيذ امر عند الخروج من الصفحة .. و ارسال بيانات للسيرفر في نفس الوقت
تحياتي ....
الشمس اجمل في بلادي من سواها .. و الظلام
حتى الظلام هناك اجمل فهو يحتضن العـــراق :o
الرد }}}
تم الشكر بواسطة:
#2
اخي العزيز .. يمكنك ادراج ملف Global.asax واستخدام الـ session
Everyone is a genius. It's just that some people are too stupidto realize it
الرد }}}
تم الشكر بواسطة:
#3
كيف اخي الغالي ؟؟ اتمنى منك ان ترفق مثال بسيط جدا .. فقط يقوم بالاتصال بالسيرفر عند الخروج
شكرا لك اخي Smile
الشمس اجمل في بلادي من سواها .. و الظلام
حتى الظلام هناك اجمل فهو يحتضن العـــراق :o
الرد }}}
تم الشكر بواسطة:
#4
up ........... Sad
الشمس اجمل في بلادي من سواها .. و الظلام
حتى الظلام هناك اجمل فهو يحتضن العـــراق :o
الرد }}}
تم الشكر بواسطة:
#5
Global.asax
فيها عدة احداث حتما ان اطلعت عليها ستعرفها تلقائيا انظر للملف لدي
كود :
<%@ Application Language="VB" %>

<script runat="server">


    Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
        ' Code that runs on application startup
        Application("activeuser") = 0


    End Sub
    
    Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
        ' Code that runs on application shutdown
    End Sub
        
    Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
        ' Code that runs when an unhandled error occurs
    End Sub


    Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
        ' Code that runs when a new session is started
        Session("start") = DateTime.Now


        Application.Lock()
        Application("activeuser") = Convert.ToInt32(Application("activeuser")) + 1
        Application.UnLock()


    End Sub


    Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
        ' Code that runs when a session ends.
        ' Note: The Session_End event is raised only when the sessionstate mode
        ' is set to InProc in the Web.config file. If session mode is set to StateServer
        ' or SQLServer, the event is not raised.
        Application.Lock()
        Application("activeuser") = Convert.ToInt32(Application("activeuser")) - 1
        Application.UnLock()


    End Sub
      
</script>

وضمن حدث تحميل الصفحة الرئيسية
كود :
If Not IsPostBack Then            Dim i As Integer = Convert.ToInt32(Application("activeuser"))
            ' Response.Write("عدد الزوار الان: " & i.ToString())
            ' Application("activeuser") += 1
            visit.InnerText = "عدد الزوار الان: " & i.ToString


        End If
الرد }}}
تم الشكر بواسطة:
#6
سعود كتب :Global.asax
فيها عدة احداث حتما ان اطلعت عليها ستعرفها تلقائيا انظر للملف لدي
كود :
<%@ Application Language="VB" %>

<script runat="server">


    Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
        ' Code that runs on application startup
        Application("activeuser") = 0


    End Sub
    
    Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
        ' Code that runs on application shutdown
    End Sub
        
    Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
        ' Code that runs when an unhandled error occurs
    End Sub


    Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
        ' Code that runs when a new session is started
        Session("start") = DateTime.Now


        Application.Lock()
        Application("activeuser") = Convert.ToInt32(Application("activeuser")) + 1
        Application.UnLock()


    End Sub


    Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
        ' Code that runs when a session ends.
        ' Note: The Session_End event is raised only when the sessionstate mode
        ' is set to InProc in the Web.config file. If session mode is set to StateServer
        ' or SQLServer, the event is not raised.
        Application.Lock()
        Application("activeuser") = Convert.ToInt32(Application("activeuser")) - 1
        Application.UnLock()


    End Sub
      
</script>

وضمن حدث تحميل الصفحة الرئيسية
كود :
If Not IsPostBack Then            Dim i As Integer = Convert.ToInt32(Application("activeuser"))
            ' Response.Write("عدد الزوار الان: " & i.ToString())
            ' Application("activeuser") += 1
            visit.InnerText = "عدد الزوار الان: " & i.ToString


        End If

شكرا اخي العزيز سعود .. لكن المشكلة انها تنفذ فقط عند دخول المستخدم و لا يتم تنفيذ اي شيء عند خروجه Sad
اتمنى منك ان تنظر الى المشروع و ان تقوم بالتعديل عليه اذا كنت قد اخطأت بشيء
شكرا مرة اخرى
http://vb4arb.com/vb/uploaded/65_11350468488.rar
الشمس اجمل في بلادي من سواها .. و الظلام
حتى الظلام هناك اجمل فهو يحتضن العـــراق :o
الرد }}}
تم الشكر بواسطة:
#7
بل انها تعمل لكن لابد من خطوة في ملف التكوين
كود :
<sessionState mode="InProc" timeout="10" cookieless="false"></sessionState>
تضعها ضمن system.web
الرد }}}
تم الشكر بواسطة:
#8
شكرا اخي لكن اين اضعها بالضبط ؟
الشمس اجمل في بلادي من سواها .. و الظلام
حتى الظلام هناك اجمل فهو يحتضن العـــراق :o
الرد }}}
تم الشكر بواسطة:
#9
في اي مكان في ملف web.config ضمن system.web
لو حبيت ضعها في نهاية system.web قبل وسم الاغلاق
كود :
</system.web>
الرد }}}
تم الشكر بواسطة:
#10
الرقم 10 بالدقائق قللها لترى النتيجة بشكل اسرع
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيف يمكن إضافة Client-Server-Side Event إلى Combobox بحيث يرجع لي قيمة الـ SelectedItem.Value ASP.NET 5 2,722 15-11-12, 07:14 PM
آخر رد: سعود

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم