تمت الإجابة قطع الاتصـآل على جميع طلبات الـwebrequest

تم تحميل الصفحة في 0,3631711 ثانية
قطع الاتصـآل على جميع طلبات الـwebrequest
الحالة
مغلق و غير مفتوح للمزيد من الردود.

kemo1997

Beginner Developer
rank
إنضم
11 أكتوبر 2016
المشاركات
41
الإعجابات
19
النقاط
8
العمر
23
السلام عليكم

عندي برنامج يقوم بعمل العديد من طلبات الـ webrequest طبعا عن طريق thread
اريد عند لحظه انا احددها ان اقوم بعمل قطع اتصال لجميع الـ webrequest

كيف اقوم بتحديد كل الـWebReuquest الذي يعمل بها البرنامج لاضيف لهـآ كود قطع الاتصال او الغاء الطلب
كود:
MyRes.Abort()
MyRes.Close()
 

kemo1997

Beginner Developer
rank
إنضم
11 أكتوبر 2016
المشاركات
41
الإعجابات
19
النقاط
8
العمر
23
ضع شرط if
ثم ضع break
او اي شيء تريده
اخوي لم تفهمني هاد كود لتوضيح طلبي


كود:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        For i = 0 To 200
            Dim T As New Threading.Thread(AddressOf test) With {.IsBackground = True}
            T.Start()
        Next
    End Sub
    Public Sub test()
        Dim keReq As HttpWebRequest = DirectCast(WebRequest.Create("https://www.google.com"), HttpWebRequest)
        keReq.Proxy = Nothing
        keReq.Method = "GET"
        keReq.KeepAlive = True
        keReq.CookieContainer = New CookieContainer()
        keReq.ContentType = "application/x-www-form-urlencoded"
        keReq.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)"
        Dim keRes = DirectCast(keReq.GetResponse(), HttpWebResponse)
        Dim xALL As String = New StreamReader(keRes.GetResponseStream).ReadToEnd
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        'وايقافهم  HttpWebRequest اريد تحديد كل
        'keReq.Abort()
        'keReq.Close()
        '
    End Sub
 
إنضم
8 سبتمبر 2013
المشاركات
7,968
الإعجابات
11,890
النقاط
168
الإقامة
Live.IQ(JO => JO.AMMAN)
اخوي لم تفهمني هاد كود لتوضيح طلبي


كود:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        For i = 0 To 200
            Dim T As New Threading.Thread(AddressOf test) With {.IsBackground = True}
            T.Start()
        Next
    End Sub
    Public Sub test()
        Dim keReq As HttpWebRequest = DirectCast(WebRequest.Create("https://www.google.com"), HttpWebRequest)
        keReq.Proxy = Nothing
        keReq.Method = "GET"
        keReq.KeepAlive = True
        keReq.CookieContainer = New CookieContainer()
        keReq.ContentType = "application/x-www-form-urlencoded"
        keReq.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)"
        Dim keRes = DirectCast(keReq.GetResponse(), HttpWebResponse)
        Dim xALL As String = New StreamReader(keRes.GetResponseStream).ReadToEnd
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        'وايقافهم  HttpWebRequest اريد تحديد كل
        'keReq.Abort()
        'keReq.Close()
        '
    End Sub
C#:
Thread thread = new Thread(xx);

//Form1{......................................}

[SecurityPermissionAttribute(SecurityAction.Demand, ControlThread = true)]
private void threadKiller()
{
   thread.Abort();
}
private void xx()
{
MessageBox.show("cccc");
}
 

kemo1997

Beginner Developer
rank
إنضم
11 أكتوبر 2016
المشاركات
41
الإعجابات
19
النقاط
8
العمر
23
C#:
Thread thread = new Thread(xx);

//Form1{......................................}

[SecurityPermissionAttribute(SecurityAction.Demand, ControlThread = true)]
private void threadKiller()
{
   thread.Abort();
}
private void xx()
{
MessageBox.show("cccc");
}
هنا قتل الثريد لكن طلبـآت الويب ريكوست ما راح تتوقف الا لما تخلص انا بدي اقطع الاتصال مبـآشرهـ ع الكل طلبلات الويب ريكويس
لو بدي اقطع ع كل الثريد ممكن استخدم التـآلي
كود:
Thread.CurrentThread.Abort()
لكن ما اعتقد رح يوقف من اكمال الـطلبـآت Webrequest
 
إنضم
8 سبتمبر 2013
المشاركات
7,968
الإعجابات
11,890
النقاط
168
الإقامة
Live.IQ(JO => JO.AMMAN)
هنا قتل الثريد لكن طلبـآت الويب ريكوست ما راح تتوقف الا لما تخلص انا بدي اقطع الاتصال مبـآشرهـ ع الكل طلبلات الويب ريكويس
لو بدي اقطع ع كل الثريد ممكن استخدم التـآلي
كود:
Thread.CurrentThread.Abort()
لكن ما اعتقد رح يوقف من اكمال الـطلبـآت Webrequest
يوقف الـthread كامل كيف ما تتوقع اخي ..؟
 

kemo1997

Beginner Developer
rank
إنضم
11 أكتوبر 2016
المشاركات
41
الإعجابات
19
النقاط
8
العمر
23
يوقف الـthread كامل كيف ما تتوقع اخي ..؟
الان بالكود المثال الي وضعته فوق
كود:
  For i = 0 To 200
        Dim T As New Threading.Thread(AddressOf test) With {.IsBackground = True}
        T.Start()
    Next
سويت 200 طلب ثريد يشتغل الـويب ريكوسيت
اريد عند الضضغط ع الزر الثاني يوقف الكل مبـآشره
(كودك بصرآحهـ ما فهمته)
 
إنضم
8 سبتمبر 2013
المشاركات
7,968
الإعجابات
11,890
النقاط
168
الإقامة
Live.IQ(JO => JO.AMMAN)
الان بالكود المثال الي وضعته فوق
كود:
  For i = 0 To 200
        Dim T As New Threading.Thread(AddressOf test) With {.IsBackground = True}
        T.Start()
    Next
سويت 200 طلب ثريد يشتغل الـويب ريكوسيت
اريد عند الضضغط ع الزر الثاني يوقف الكل مبـآشره
(كودك بصرآحهـ ما فهمته)
تعريفك غلط ..
لازم يكون تعريف الـthread برة
حتى تقدر توقفة من الـButton

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

مثال :

C#:
Thread t ;//بدون قيمة

void x()
{
  
    t = new Thread(myFunc);// هنا تعطيه قيمة
t.Start(); 
}
void myFunc()
{
    MessageBox.Show("");
}
void KillThread()
{
    t.Abort();// هنا تقدر تقتلة لان t تقدر تتحكم فيها من كل مكان في الـClass
}
 

kemo1997

Beginner Developer
rank
إنضم
11 أكتوبر 2016
المشاركات
41
الإعجابات
19
النقاط
8
العمر
23
تعريفك غلط ..
لازم يكون تعريف الـthread برة
حتى تقدر توقفة من الـButton

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

مثال :

C#:
Thread t ;//بدون قيمة

void x()
{

    t = new Thread(myFunc);// هنا تعطيه قيمة
t.Start();
}
void myFunc()
{
    MessageBox.Show("");
}
void KillThread()
{
    t.Abort();// هنا تقدر تقتلة لان t تقدر تتحكم فيها من كل مكان في الـClass
}
بها الطريقهـ رح يوقف الـ200 ثريد ممع بعض؟
 

kemo1997

Beginner Developer
rank
إنضم
11 أكتوبر 2016
المشاركات
41
الإعجابات
19
النقاط
8
العمر
23
كود:
Dim threads As New List(Of Thread)
اضفت ليست وكل عمليهـ اضيفها لهـ
كود:
threads.Add(myTread)
ومن ثم في الزر ~
كود:
For Each tt In threads
            If tt.IsAlive Then
                tt.Abort()
            End If
        Next
 
إنضم
8 سبتمبر 2013
المشاركات
7,968
الإعجابات
11,890
النقاط
168
الإقامة
Live.IQ(JO => JO.AMMAN)
كود:
Dim threads As New List(Of Thread)
اضفت ليست وكل عمليهـ اضيفها لهـ
كود:
threads.Add(myTread)
ومن ثم في الزر ~
كود:
For Each tt In threads
            If tt.IsAlive Then
                tt.Abort()
            End If
        Next
انا نفسي استفدت من الحل .. جازاك الله الف خير
 
إنضم
2 أغسطس 2017
المشاركات
167
الإعجابات
126
النقاط
43
الإقامة
Anbar , Iraq
استفسار بسيط
كود الي مستخدمه لو مثلا خليت لستةة حسابات تتكون من الف حساب وخليت ال thread 50
رح يسوي 50 ريكويست بنفس لوقت وكل ريكويست رح ياخذ يوزر وباسورد يخمن عليهم .؟ لو ينتظر العمليه الاولى تتنفذ وينفذ العملية الي بعدها .؟ :
 

عـبـدالـله

.:: أبو مـحـمـد ::.
rankrankrankrankrank
إنضم
5 ديسمبر 2013
المشاركات
2,343
الإعجابات
3,102
النقاط
198
الإقامة
Snap: with-305
قايلك حط شرط if
برمجة بدون شروط .!!
لمتى يعني افهموا ان الشروط البرمجيه ركن هام

نستطيع عمل شفرة برمجيه بدون شروط بس مامنها فائده تذكر
ال if عنصر فعال بلغة البرمجه
وخاصه بالخوارزميات
 
إنضم
8 سبتمبر 2013
المشاركات
7,968
الإعجابات
11,890
النقاط
168
الإقامة
Live.IQ(JO => JO.AMMAN)
قايلك حط شرط if
برمجة بدون شروط .!!
لمتى يعني افهموا ان الشروط البرمجيه ركن هام

نستطيع عمل شفرة برمجيه بدون شروط بس مامنها فائده تذكر
ال if عنصر فعال بلغة البرمجه
وخاصه بالخوارزميات
اخي انت ما فهمت الكود الله يصلح حالك
الفكرة في إضافة كل thread تم إنشائه الى List<Thread> يعني ما لها اي علاقة بالـIF ..
أقدر احط Try بدالها و يمشي أيضاً مثل ما اريد
 
إنضم
8 سبتمبر 2013
المشاركات
7,968
الإعجابات
11,890
النقاط
168
الإقامة
Live.IQ(JO => JO.AMMAN)
استفسار بسيط
كود الي مستخدمه لو مثلا خليت لستةة حسابات تتكون من الف حساب وخليت ال thread 50
رح يسوي 50 ريكويست بنفس لوقت وكل ريكويست رح ياخذ يوزر وباسورد يخمن عليهم .؟ لو ينتظر العمليه الاولى تتنفذ وينفذ العملية الي بعدها .؟ :
كل Thread مستقل .. ما راح ينتظر أي عملية تخلص حتى يتنفّذ .. الا لو انت حددت هذا داخل الكود نفسة
لان الـthread ينفذ الكود على شكل Blocks
يعني .. السطر الاول ثم السطر الثاني ثم السطر الثالث و هكذا ..
 
الحالة
مغلق و غير مفتوح للمزيد من الردود.

الأعضاء النشطين حاليآ الذين يشاهدون هذا الموضوع (1 عضو و 0 ضيف)

خيارات الاستايل

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

إرجاع خيارات الإستايل