سؤال

هذا السيناريو:

لدينا نظام إدارة المحتوى الذي يعمل بالطاقة ASP.NET يعمل على خادم ، والذي تم تصميمه بواسطة طرف ثالث وللأسف يجب اعتباره "صندوقًا أسود" لأغراض هذا السؤال. لا أعرف الكثير عن كيفية عمله. Windows 2008 مع IIS 7.

لعدة أسابيع ، ستعمل بشكل جيد ، ثم فجأة سيبدأ في إعادة خطأ .NET Parser كلما حاول أي شخص الوصول إلى صفحة:

Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately. 

Parser Error Message: Cannot execute a program. The command being executed was
 "C:\Windows\Microsoft.NET\Framework\v2.0.50727\vbc.exe" /noconfig
   @"C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\7082fc73\4a06ea64\iscamrh7.cmdline".

Source Error: 
Line 69:     <!--<%@ Register Src="/web/ContentLibrary/Section/section125.ascx" TagName="section125" TagPrefix="uc1" %><uc1:section125 ID="section125" runat="server" />-->
Line 70:     <%If useAltStyles Then %>
Line 71:      <%@ Register Src="/web/Tags/tag46.ascx" TagName="tag46_14" TagPrefix="uc14" %><uc14:tag46_14 ID="tag46_14" runat="server" />
Line 72:     <%Else %>
Line 73:      <%@ Register Src="/web/Tags/tag41.ascx" TagName="tag41_16" TagPrefix="uc16" %><uc16:tag41_16 ID="tag41_16" runat="server" />

تشير الرسالة إلى أنها "لا يمكن تنفيذ" VBC.Exe ، والتي أعرف أنها تشارك في تجميع صفحات ASPX. ومن خطوط المصدر التي يقتبسها ، يحدث ذلك عندما يحاول ذلك @Register عناصر تحكم مخصصة على صفحة.

هل لدى أي شخص أي تلميحات أو حدس حول ما قد يسبب هذا؟ على سبيل المثال ، هل هذا هو نوع الشيء الذي يحدث عندما يكون الخادم منخفضًا على الموارد؟

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

المحلول

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

أثبتت إعداد حد ذاكرة على إعدادات إعادة تدوير تجمع التطبيقات أنه حل مؤقت حتى يتم فرز تسرب الذاكرة.

نصائح أخرى

لا أعرف ما إذا كان ما يلي ناتجًا عن نسخ/لصق أو اقتطاع رسالة استثناء ، لكن عندما أقوم بنسخ لصق رمز ASPX في صفحة جديدة ، أحصل أولاً على خطأ في وقت الترجمة "إذا" يجب إنهاء "إذا". انتهى إذا "لكنني لا أرى كيف يمكن أن يتسبب هذا في الرسالة التي تحصل عليها. (تم اختباره باستخدام ASP.NET Development Server ، VS2010 في مشروع الويب ASP.NET 2.0)

الشيء الثاني الذي يذهلني هو أن الخط

<!--<%@ Register Src="/web/ContentLibrary/Section/section125.ascx" TagName="section125" TagPrefix="uc1" %><uc1:section125 ID="section125" runat="server" />-->

على الرغم من أن التعليق لا يزال يحتاج إلى وجود Section125.ASCX التحكم في الوجود. هل يمكن أن يتم إنشاء الخطأ داخل Section125.ASCX Control.

هل يمكنك محاولة إزالة عبارة @Register المعلقة؟

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