ظهور رسائل خطأ واحد أو أكثر عند محاولة إجراء طلب HTTP في تطبيق يستند.NET Framework 1.1 Service Pack 1

هام: تمت ترجمة هذه المقالة باستخدام برامج مايكروسوفت للترجمة الآلية ومن المحتمل ان يتم تحريرها او تدقيقها بعد ذلك من خلال تكنولوجيا منصة مجموعات الترجمة(CTF) او من خلال مترجم بشري. تقدم لك شركة مايكروسوفت هذه المقالات المترجمة بشكل آلي او بالترجمة البشرية او بعد تحريرها وتدقيقها من قبل مجموعات الترجمة حتى تمكنكم من الوصول إلى جميع المقالات الموجودة في قواعد المعرفة لديها بلغات مختلفة. إلا أن المقالات المترجمة قد تحتوي على أخطاء في المفردات او بناء الجمل او النحو. وعليه، فإن شركة مايكروسوفت ليست مسؤولة عن اية أخطاء او عدم دقة في الترجمة او أية أضرار قد تحدث نتيجة أخطاء في ترجمة محتويات النص او استخدامه من قبل العملاء.

اضغط هنا لرابط المقالة باللغة الانجليزية915599
تمت أرشفة هذه المقالة. وتظهر "كما هي" ولن يتم تحديثها بعد الآن.
الموجز
توضح هذه المقالة رسائل الخطأ التي قد تتلقاها عند استخدام Microsoft.NET Framework 1.1 Service Pack 1 (SP1) لجعل طلبات HTTP أو عند استدعاء خدمة ويب.
الأعراض
عند محاولة إجراء طلب HTTP في تطبيق يستند إلى.NET Framework، قد تظهر واحدة أو أكثر من رسائل الخطأ التالية:
رسالة الخطأ 1
تم إغلاق الاتصال الأساسي: غير قادر على الاتصال بملقم بعيد.
رسالة الخطأ 2
تم إغلاق الاتصال الأساسي: حدث خطأ غير متوقع أثناء عملية إرسال.
رسالة الخطأ 3
تم إغلاق الاتصال الأساسي: حدث خطأ غير متوقع عند المتلقي.
رسالة الخطأ 4
تم إغلاق الاتصال الأساسي: الخادم ارتكبت انتهاك بروتوكول HTTP.
رسالة الخطأ 5
تم إغلاق الاتصال الأساسي: تعذر تأسيس قناة آمنة ل SSL/TLS.
رسالة الخطأ 6
العملية انتهت مهلة
السبب

رسالة الخطأ 1

تحدث هذه المشكلة عند.NET Framework لا يمكن تأسيس اتصال بملقم بعيد. قد تحدث هذه المشكلة عند واحد أو أكثر من الشروط التالية صحيحاً:
  • يحدث انقطاع شبكة.
  • ملقم وكيل بحظر طلب HTTP.
  • تحدث مشكلة في نظام اسم مجال (DNS).
  • تحدث مشكلة مصادقة شبكة اتصال.
لحل هذه المشكلة، انظر القرارين A و B و c.

رسالة الخطأ 2

تحدث هذه المشكلة عندما يتعذر على الكمبيوتر العميل إرسال طلب HTTP. يتعذر على الكمبيوتر العميل إرسال طلب HTTP للاتصال تم إغلاقه أو غير متوفر. قد تحدث هذه المشكلة عندما يقوم الكمبيوتر العميل بإرسال الكثير من البيانات. لحل هذه المشكلة، راجع الحلول A D E و f و o.

رسالة الخطأ 3

تحدث هذه المشكلة عند إغلاق اتصال بروتوكول تحكم بإرسال (TCP) بشكل غير متوقع الخادم أو جهاز آخر على شبكة الاتصال. قد تحدث هذه المشكلة عند تعيين قيمة مهلة على الخادم أو على جهاز الشبكة منخفضة جداً. لحل هذه المشكلة، راجع الحلول A D E و f و o. يمكن أن تحدث المشكلة أيضا إذا كان يقوم بإعادة تعيين الاتصال بشكل غير متوقع، مثل ما إذا كان استثناء لم تتم معالجته تعطل عملية الخادم. تحليل سجلات الملقم لمعرفة إذا كانت هذه المشكلة.

رسالة الخطأ 4

تحدث هذه المشكلة عند اكتشاف.NET Framework استجابة الملقم لا يتوافق مع HTTP 1.1 RFC. قد تحدث هذه المشكلة عند الاستجابة يحتوي على رؤوس غير صحيحة أو محددات رأس غير صحيح. لحل هذه المشكلة، انظر القرارين A وج.

لمزيد من المعلومات حول رؤوس HTTP، قم بزيارة موقع "ويب اتحاد شبكة ويب العالمية" التالية: توفر Microsoft معلومات جهة الاتصال من جهة خارجية لمساعدتك في الحصول على الدعم التقني. قد تتغير معلومات جهة الاتصال هذه دون إشعار. لا تضمن Microsoft دقة معلومات جهة الاتصال للجهة الخارجية.

رسالة الخطأ 5

قد تحدث هذه المشكلة عند واحد أو أكثر من الشروط التالية صحيحاً:
  • استخدام شهادة عميل غير صحيح أو شهادة إينفاليدسيرفير.
  • كنت تواجه مشكلة في اتصال TCP.
  • الكمبيوتر العميل بإرسال الكثير من البيانات.
  • إعداد مهلة على الملقم أو على نيتوركديفيسي آخر منخفض جداً.
  • تواجهك كومباتيبيليتيبروبليم بروتوكول HTTPS.
مشاكل اتصال TCP، انظر القرارين A ود ه و و. مشاكل شهادات العميل ومشاكل شهادة الخادم، راجع قرارات ح وأنا. مشاكل التوافق بروتوكول HTTPS، انظر القرار ج.

رسالة الخطأ 6

تحدث هذه المشكلة عند الوصول إلى قيمة المهلة العميل قبل حدوث إحدى الحالات التالية:
  • يتم تأسيس اتصال HTTP.
  • تم تلقي استجابة HTTP من الخادم.
  • يتم كتابة دفق البيانات أراد تماما.
لحل هذه المشكلة، انظر القرارين A وه، ك، ل م ون.
الحل
ملاحظة تحتوي القائمة التالية على الحلول الممكنة التي قد يتم تطبيقها عند حدوث أحد هذه المشاكل. ليست كافة هذه القرارات تنطبق على هذه المشاكل. راجع وصف المشكلة في قسم "السبب" لتحديد دقة الوضوح التي تنطبق.

القرار ألف

لحل هذه المشكلة، تأكد من أنك تستخدم أحدث إصدار من برنامج.NET Framework. لمزيد من المعلومات، انقر فوق رقم المقالة التالي لعرضها في "قاعدة معارف Microsoft":
318785 كيفية تحديد إصدارات.NET Framework المثبتة وما إذا كان تطبيق حزم الخدمة

القرار ب

لحل هذه المشكلة، تأكد من صحة إعدادات الوكيل. للقيام بذلك، استخدم الأساليب التالية:
  • استخدام أسلوب WebProxy.GetDefaultProxy ثابت. لمزيد من المعلومات، قم بزيارة موقع Microsoft التالي على الويب:
  • تعرف <proxy></proxy> عنصر في ملفات تكوين التطبيق. للمزيد من المعلومات، قم بزيارة موقع Microsoft التالي على الويب:
  • تكوين عميل.NET لاستخدام HTTP 1.0 بتغيير الخاصية HttpWebRequest.ProtocolVersion . لمزيد من المعلومات، قم بزيارة موقع Microsoft التالي على الويب:ملاحظة بشكل افتراضي، يستخدم.NET Framework HTTP 1.1.
  • إذا كنت تستخدم طبقة مأخذ التوصيل الآمنة (SSL)، تأكد من أنه لم يتم تكوين الوكيل لاستخدام أي قواعد بلوكينغتبس.
  • إذا كنت تستخدم autoproxy، انقر فوق أرتيكلينومبير التالي لعرض المقالة في "قاعدة المعارف ل Microsoft":
    873199 كيفية استخدام autoproxy في التعليمات البرمجية المدارة

القرار جيم

لحل هذه المشكلة، تأكد من أن التطبيق أذونات لإجراء اتصالات شبكة الاتصال وإجراء مكالمات مأخذ التوصيل. ينطبق هذا القرار عند تشغيل التطبيق الذي يقوم باستدعاء HttpWebRequest داخل تطبيق ويب. قد تضطر إلى منح أذونات القراءة إلى حساب ASPNET بحيث يمكنك الوصول إلى الموارد التالية:
  • الموفر Microsoft وينسوكبروكسي WS2.0 (Wspwsp.dll)file
  • على
    HKLM\System\CurrentControlSet\Services\DnsCache
    مفتاح التسجيل
  • على
    HKLM\System\CurrentControlSet\Services\WinSock2
    مفتاح التسجيل
ملاحظة لتحديد ما إذا كانت عملية عامل ASPNET لديه الأذونات اللازمة، استخدم الأداة المساعدة فيلمون والأداة المساعدة RegMon. لتنزيل الأداة المساعدة فيلمون والأداة المساعدة RegMon، قم بزيارة موقع ويب شركة Sysinternals التالي: منتجات جهة خارجية التي تناقشها هذه المقالة تابعة لشركات مستقلة عن Microsoft. لا تقدم Microsoft أي ضمان، سواء ضمنياً أو صريحا، بخصوص أداء أو ثبات النظام من هذه المنتجات.

القرار دال

لحل هذه المشكلة، قم بتعطيل ميزة الإبقاء. في.NET Framework، تعيين الخاصية HttpWebRequest.KeepAlive إلى FALSE. للقيام بذلك عندما تقوم باستدعاء خدمة ويب، اتبع الخطوات التالية.

ملاحظة مطلوب ميزة الإبقاء لمصادقة NTLM.
  1. إنشاء فئة جديدة من وراثة بروكسيكلاس الذي تم إنشاؤه.
  2. إضافة أسلوب إلى فئة لتجاوز الأسلوب جيتويبريكويست . هذا التغيير يسمح لك بالوصول إلى الكائن HttpWebRequest . إذا كنت تستخدم Microsoft Visual C#، يجب أسلوب جديدة مشابهة لما يلي.
    class MyTestService:TestService.TestService{    protected override WebRequest GetWebRequest(Uri uri)    {        HttpWebRequest webRequest = (HttpWebRequest) base.GetWebRequest(uri);        //Setting KeepAlive to false        webRequest.KeepAlive = false;        return webRequest;    }}
    إذا كنت تستخدم Microsoft Visual Basic.NET، الأسلوب الجديد يجب أن بيسيميلار على ما يلي.
    Class MyTestService      Inherits TestService.TestService        Protected Overrides Function GetWebRequest(ByVal uri As Uri) As System.Net.WebRequest            Dim webRequest As System.Net.HttpWebRequest            webRequest = CType(MyBase.GetWebRequest(uri), System.Net.HttpWebRequest)           'Setting KeepAlive to false             webRequest.KeepAlive = False            GetWebRequest = webRequest        End FunctionEnd Class
  3. إنشاء مثيل للفئة الجديدة، واستخدم في نوكلاس لاستدعاء أسلوب خدمة الويب.

القرار هاء

لحل هذه المشكلة، تعيين الخاصية ServicePointManager.MaxServicePointIdleTime إلى أقل من قيمة مهلة اتصال الملقم المحافظة على الحياة.

ملاحظات
  • عندما كان خاملاً كائن ServicePoint للوقت المحدد في الخاصية MaxIdleTime ، أنها مؤهلة لتجميع البيانات المهملة.
  • تأكد من تعيين الخاصية ServicePointManager.MaxServicePointIdleTime قبل إجراء أية طلبات HTTP. للمزيد من المعلومات حول خاصية ServicePointManager.MaxSercvePointIdleTime ، قم بزيارة موقع Microsoft التالي على الويب:

القرار واو

لحل هذه المشكلة، زيادة قيمة المهلة على الكمبيوتر الملقم وعلى أجهزة شبكة الاتصال الأخرى. لزيادة قيمة المهلة في Microsoft Internet معلومات Services (IIS) 6.0، اتبع الخطوات التالية:
  1. انقر فوق ابدأ، وانقر فوق ControlPanelانقر فوق أدوات إداريةوثم انقر فوقإدارة خدمات معلومات إنترنت (IIS).
  2. انقر فوق اسم الكمبيوتر الذي تريد توريكونفيجوري، وثم انقر فوق مواقع ويب.
  3. زر الماوس الأيمن فوق موقع ويب الذي تريد تكوين، أندثين انقر فوق خصائص.
  4. اكتب قيمة جديدة في المربع مهلة الاتصال، ومن ثم انقر فوق موافق.
  5. في القائمة ملف ، انقر فوق "إنهاء".

القرار زاي

للتغلب على هذه المشكلة، بتعيين أوسيونسافيهيديربارسينج إلى True. لمزيد من المعلومات حول خاصية أوسيونسافيهيديربارسينج، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
888528 قائمة بالأخطاء التي تم إصلاحها في.NET Framework 1.1 Service Pack 1 ولكن غير موضحة في مكان آخر في مقالات "قاعدة معارف Microsoft" الفردية

دقة H

لحل هذه المشكلة، توفير شهادة عميل صالح للتطبيق. لمزيد من المعلومات حول كيفية استخدام شهادات العميل، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
901183 كيفية استدعاء خدمة ويب باستخدام شهادة عميل للمصادقة في تطبيق ويب ASP.NET
895971 كيفية إرسال شهادة عميل باستخدام الفئات HttpWebRequest وهتبويبريسبونسي في Microsoft Visual C#.NET

دقة أنا

لحل هذه المشكلة، توفير شهادة أمان صحيح للخادم. بالإضافة إلى ذلك، قد تتمكن من حل هذه المشكلة عن طريق تثبيت شهادة المرجع المصدق (CA) الشهادة الجذر أو تصحيح الاسم الشائع لشهادة الملقم. لمزيد من المعلومات حول تسمية شهادة الخادم، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
813618 تنبيه أمان: اسم شهادة الأمان غير صالح أو لا يطابق اسم الموقع
تحذير قد هذا الحل إلى جعل جهاز الكمبيوتر أو الشبكة أكثر عرضه للهجمات التي تتم من قبل المستخدمين الضارين أو من قبل البرامج الضارة مثل الفيروسات. نحن لا ننصح بهذا الحل ولكن يتم توفير هذه المعلومات حيث يمكنك تطبيق هذا الحل البديل على مسؤوليتك الخاصة. استخدام هذا الحل على مسؤوليتك الشخصية.

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

ملاحظة الأسلوب ICertificatePolicy.CheckValidationResult يطبق نهج التحقق من صحة شهادة التطبيق. لمزيد من المعلومات حول أسلوب ICertificatePolicy.CheckValidationResult ، قم بزيارة موقع Microsoft التالي على الويب: لمزيد من المعلومات ونموذج التعليمات برمجية، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
823177 PRB: "System.Net.WebException. تم إغلاق الاتصال الأساسي. ظهور رسالة الخطأ تعذر تأسيس علاقة ثقة مع الملقم البعيد "عند ترقية برنامج.NET Framework
هام نوصي بعدم تجاهل التحذيرات بشأن شهادة SSL في التعليمات البرمجية بسبب المخاطر الأمنية المحتملة.

القرار ياء

لحل هذه المشكلة، تغيير البروتوكول HTTPS من SSL إلى أمان مستوى النقل (TLS).

ملاحظة إذا كنت تستخدم بالفعل TLS، تغيير بروتوكول HTTPS إلى SSL. لتغيير بروتوكول HTTPS على كمبيوتر العميل، راجع المقطع "ServicePointManager.SecurityProtocol الملكية" على موقع Microsoft التالي على الويب: ملاحظة على سبيل المثال، لدعم بروتوكول SSL3 وبروتوكول TLS1، استخدم تعليمات برمجية مشابهة لما يلي.
ServicePointManager.SecurityProtocol= SecurityProtocolType.Ssl3|SecurityProtocolType.Tls;
لمزيد من المعلومات حول كيفية تغيير بروتوكول HTTPS على كمبيوتر الملقم، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
187498 كيفية تعطيل PCT 1.0 أو SSL 2.0 أو SSL 3.0 أو TLS 1.0 في "خدمات معلومات إنترنت"

دقة K

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

ملاحظة القيمة الافتراضية لخاصية maxConnection هو 2. اتصال ASP.NET تطبيقات Microsoft التي استدعاء خدمات الويب، نوصي بتعيين قيمة 12 مرة على عدد المعالجات. لتعيين هذه القيمة باستخدام التعليمات البرمجية للتطبيق، استخدم الخاصية ServicePointManager.DefaultConnectionLimit . لمزيد من المعلومات حول خاصية ServicePointManager.DefaultConnectionLimit ، قم بزيارة موقع Microsoft التالي على الويب: لتعيين هذه القيمة باستخدام ملفات التكوين للتطبيق، إضافة التعليمات البرمجية التالية إلى ملف التكوين.
<connectionManagement>  <add address="*" maxconnection="12"/></connectionManagement>
لمزيد من المعلومات حول كيفية استخدام <connectionManagement></connectionManagement> عنصر، قم بزيارة موقع Microsoft التالي على الويب:

القرار L

لحل هذه المشكلة، تأكد من أن يتم تطبيق إعدادات مهلة الخادم وأجهزة أخرى على شبكة الاتصال بشكل صحيح. لمزيد من المعلومات حول كيفية تطبيق إعدادات المهلة، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
904262 الطلب التي تم إرسالها بواسطة الفئة HttpWebRequest قد يتوقف عن الاستجابة عند استخدام فئة HttpWebRequest في تطبيق ASP.NET

القرار ميم

لحل هذه المشكلة، اقرأ حول ضبط الأداء ASP.NET. لمزيد من المعلومات حول ضبط الأداء ASP.NET، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
821268 التنازع وضعف الأداء وحالات التوقف التام عندما تتقدم بطلبات خدمة ويب من تطبيقات ASP.NET

دقة N

لحل هذه المشكلة، بزيادة قيم خصائص المهلة في التعليمات البرمجية للتطبيق العميل. للقيام بذلك، استخدم الخصائص التالية:
  • HttpWebRequest.Timeout
  • HttpWebRequest.ReadWriteTimeout
لمزيد من المعلومات حول خاصية HttpWebRequest.Timeout ، قم بزيارة موقع Microsoft التالي على الويب: لمزيد من المعلومات حول خاصية HttpWebRequest.ReadWriteTimeout ، قم بزيارة موقع Microsoft التالي على الويب:

القرار سين

لحل هذه المشكلة، تأكد من أن الكمبيوتر العميل لا يرسل HTTP 100-متابعة رأس. بالإضافة إلى ذلك، تأكد من أن جهاز الكمبيوتر العميل لا يتوقع تلقي HTTP 100-متابعة رأس.

ملاحظة هذا القرار يكون فعالاً إذا لم يعتمد ملقم ويب أو ملقم وكيل HTTP 100-متابعة رأس. لمزيد من المعلومات حول كيفية تعطيل HTTP 100-متابعة رأس للكمبيوتر العميل، قم بزيارة موقع Microsoft التالي على الويب:
مراجع
لمزيد من المعلومات حول اعتبارات الأداء عند إجراء ويب الخدمة المكالمات من تطبيقات ASP.NET متصل، قم بزيارة موقع Microsoft التالي على الويب: لمزيد من المعلومات حول مشكلات في الأداء ومشاكل حالة توقف تام عند إجراء ويب خدمة طلبات من تطبيقات ASP.NET متصل، انقر فوق رقم المقالة التالي لعرض المقالة في قاعدة معارف Microsoft:
821268 التنازع وضعف الأداء وحالات التوقف التام عندما تتقدم بطلبات خدمة ويب من تطبيقات ASP.NET
لمزيد من المعلومات حول كيفية تحسين أداء تطبيقات ASP.NET متصل، قم بزيارة موقع Microsoft التالي على الويب: لمزيد من المعلومات حول كيفية تحسين أداء خدمات ويب، قم بزيارة موقع Microsoft التالي على الويب: لمزيد من المعلومات حول كيفية إنشاء تطبيقات آمنة ASP.NET متصل، قم بزيارة موقع Microsoft التالي على الويب: ملاحظة يتم استخدام بروتوكول النقل TCP لطلبات HTTP. TCP بروتوكول مهيأ للاتصال، يمكن الاعتماد عليها. ومع ذلك، إذا تم إغلاق اتصال TCP بشكل غير متوقع، التطبيق عمليات إعادة الطلب. لمزيد من المعلومات حول بروتوكول TCP وسلوك العميل إذا يقوم الملقم بإغلاق اتصال، قم بزيارة موقع "ويب اتحاد شبكة ويب العالمية" التالية: توفر Microsoft معلومات جهة الاتصال من جهة خارجية لمساعدتك في الحصول على الدعم التقني. قد تتغير معلومات جهة الاتصال هذه دون إشعار. لا تضمن Microsoft دقة معلومات جهة الاتصال للجهة الخارجية. لمزيد من المعلومات حول الأداة المساعدة فيلمون والأداة المساعدة RegMon، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
198038 أدوات مفيدة لمشاكل الحزم والتوزيع
لمزيد من المعلومات حول "مراقب الشبكة"، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
148942 كيفية التقاط حركة مرور شبكة الاتصال بواسطة "مراقب شبكة الاتصال"
812953 كيفية استخدام "مراقبة شبكة الاتصال" لالتقاط حركة مرور شبكة الاتصال

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 915599 - آخر مراجعة: 12/09/2015 04:53:23 - المراجعة: 3.0

Microsoft .NET Framework 1.1 Service Pack 1

  • kbnosurvey kbarchive kbtshoot kbprb kbmt KB915599 KbMtar
تعليقات
ERROR: at System.Diagnostics.Process.Kill() at Microsoft.Support.SEOInfrastructureService.PhantomJS.PhantomJSRunner.WaitForExit(Process process, Int32 waitTime, StringBuilder dataBuilder, Boolean isTotalProcessTimeout)