هل يمكن أن يكون asp.net httprequest فارغًا؟ ماذا عن CurrentExecutionFilePath؟

StackOverflow https://stackoverflow.com/questions/701426

  •  22-08-2019
  •  | 
  •  

سؤال

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

بعد النظر في الكود ، فإن الجناة المحتملين الوحيدين اللذين يمكنني رؤيته هما الخطان المتتاليان اللذان قرأهما:

string currentPath = this.Request.CurrentExecutionFilePath;
string[] parts = currentPath.Split('/');

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

هل كانت مفيدة؟

المحلول

هل تم تمكين إخراج PDB لبناء إصدارك؟

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

(يجب أن تتطابق PDB و DLLs)

نصائح أخرى

يمكن أن يكون الطلب و/أو httpcontext فارغًا إذا قمت بتشغيل مؤشرات ترابط من أولك. (المعالجة غير المتزامنة ، وما إلى ذلك)

من الغريب أنني رأيت خطأ HTTPrequest فارغًا (العديد من) مرات عديدة على خادم الإنتاج دون أن أتمكن من معرفة السبب.

أعلم أن هذا لا فائدة لك على الإطلاق ، لكنني فقط أكتب من التضامن :)

أحد الأشياء المحتملة التي أتذكرها هو أن لا علاقة له بـ IIS عدم تعيين الجذر إلى /default.aspx ولكن مرة أخرى ، كان هذا منذ فترة طويلة ، لذا من فضلك لا تولي الكثير من الاهتمام إلى هذه الشبكات غير المفيدة في البولينة !!!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top