صفحات ASP.NET يظهر سلوك غير متوقع لأنه لن تتم معالجة التعليمات البرمجية من جانب الخادم

الأعراض

مؤشرات الخطأ التي يتم عرضها في وقت التشغيل

عندما تقوم بعرض صفحة.aspx في تطبيق Microsoft ASP.NET على ويب، قد تواجه الأعراض التالية:
  • قد تظهر صفحة فارغة في المستعرض.
  • قد تتلقى تعليمات لتنزيل صفحة.aspx.
السلوك النموذجي هو معالجة التعليمات البرمجية على الخادم لصفحة aspx ولا يتم إرسالها التعليمات البرمجية ثم إلى مستعرض ويب في شكله الخام.

مؤشرات الخطأ التي يتم عرضها عند استخدام Visual Studio.NET لتصحيح ASP.NET

عندما تقوم بتصحيح تطبيق ASP.NET في Microsoft Visual Studio.NET، قد تتلقى رسالة الخطأ التالية في IDE:
حدث خطأ أثناء محاولة تشغيل المشروع: تعذر بدء التصحيح على ملقم ويب. لا يعتمد الخادم تصحيح تطبيقات ASP.NET أو خادم ATL. قم بتشغيل برنامج الإعداد لتثبيت مكونات الملقم Visual Studio.NET. إذا تم تشغيل برنامج الإعداد، تحقق من تحديد URL صالح.


قد تحتاج أيضا للإشارة إلى موضوع ASP.NET و ATL الخادم التصحيح في الوثائق الفورية. هل تريد تعطيل محاولات المستقبلية تصحيح صفحات ASP.NET لهذا المشروع؟

السبب

بعد تثبيت Microsoft.NET Framework مجموعة تطوير البرامج (SDK) أو Microsoft Visual Studio.NET, يتم إنشاء تعيينات خدمات معلومات إنترنت ل Microsoft (IIS) لاقتران ملحقات أسماء الملفات الجديدة وإعدادات جديدة ل ASP.NET.

غير الإعدادات الجديدة سارية إذا تم تطبيق أي من العبارات التالية تبعاً للموقف لديك:
  • لم يتم تثبيت IIS عندما قمت بتشغيل.NET Framework SDK أو إعداد.NET Visual Studio.
  • إزالة وإعادة تثبيت IIS ثم بعد تشغيل إعداد.NET Framework SDK أو إعداد.NET في Visual Studio.

الحل

لحل هذه المشكلة، إصلاح تعيينات IIS حيث ملحقات أسماء ملفات ASP.NET مقترنة بشكل صحيح. هناك طريقتان لإصلاح تعيينات IIS ل ASP.NET.

لإصلاح تعيينات IIS ل ASP.NET، قم بتشغيل Aspnet_regiis.exe utlity. للقيام بذلك، اتبع الخطوات التالية:
  1. وانقر فوق ابدأ، ثم انقر فوق تشغيل.
  2. اكتب cmd، ومن ثم انقر فوق موافق.
  3. في موجه الأوامر، اكتب الأمر التالي، ومن ثم اضغط ENTER:
    "\ \Microsoft.NET\Framework\ويندووسفولديررقم الإصدار> \aspnet_regiis.exe"-i
    ملاحظة: استبدال
    ويندووسفولدير باسم الدليل المثبت عليه نظام التشغيل. استبدال رقم الإصدار مع إصدار.NET Framework المثبتة على جهاز الكمبيوتر الخاص بك.
لإصلاح تعيينات IIS ل ASP.NET، يجب تسجيل Aspnet_isapi.dll. للقيام بذلك، اتبع الخطوات التالية:
  1. وانقر فوق ابدأ، ثم انقر فوق تشغيل.
  2. اكتب regsvr32 ويندووسفولدير\Microsoft.NET\Framework\رقم الإصدار\aspnet_isapi.dllومن ثم انقر فوق موافق. إرجاع Regsvr32 نتائج التسجيل.

الحالة

يعتبر هذا السلوك حسب التصميم.

مزيد من المعلومات

خطوات إعادة إنشاء المشكلة

اتبع هذه الخطوات للتحقق من أم لا ترى المشكلة الموضحة في هذه المقالة. يتحقق هذا الاختبار من الأعراض النموذجية المتعلقة بهذه المسألة. إذا كنت بالفعل على دراية بكيفية عمل تعيينات التطبيق IIS، يمكنك أيضا اتباع الخطوات الموجودة في القسم "كيفية إلى التحقق من الخاص بك تطبيق تعيينات IIS" من هذه المقالة للتحقق من تكوين خادم الويب الخاص بك.
  1. لإنشاء تطبيق ويب ASP.NET، استخدام Visual Studio.NET. للقيام بذلك، اتبع الخطوات التالية:
    1. Microsoft Visual Studio.NET.بدء تشغيل
    2. من القائمة ملف، أشر إلى جديد ثم انقر فوق المشروع.
    3. في مربع الحوار مشروع جديد ، انقر فوق مشاريع Visual C# أو مشاريع Visual Basic ضمن أنواع المشاريع، ومن ثم انقر فوق تطبيق ويب ASP.NET ضمن قوالب.
    4. في المربع الموقع ، استبدل الاسم الافتراضي تطبيق ويب# ميويباب. إذا كنت تستخدم الملقم المحلي، يمكنك ترك اسم الملقم ك http://localhost. يظهر المربع الموقع الناتج كما يلي:
      http://localhost/MyWebApp
  2. زر الماوس الأيمن فوق عقده المشروع في "مستكشف الحلول"، أشر إلى
    إضافة، ثم انقر فوق إضافة نموذج ويب. اسم "نموذج ويب" MappingsTest.aspx، ومن ثم انقر فوق فتح.
  3. انقر نقراً مزدوجاً فوق صفحة.aspx في المحرر ومن ثم انقر فوق عرض التعليمات البرمجية. أضف التعليمات البرمجية التالية إلى معالج حدث Page_Load :

    Visual C#.NET
    private void Page_Load(object sender, System.EventArgs e){
    Response.Write("This code was executed");
    }

    Visual Basic.NET
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load    Response.Write("This code was executed")
    End Sub

  4. من القائمة ملف ، انقر فوق حفظ الكل لحفظ "نموذج ويب" والملفات المقترنة المشروع الأخرى.
  5. إنشاء القائمة في Visual Studio.NET IDE، انقر فوق بنية الحل.
  6. انقر نقراً مزدوجاً فوق صفحة.aspx ومن ثم انقر فوق عرض في مستعرض.
  7. إذا كانت التعيينات صحيحة، تظهر الرسالة "تم تنفيذ هذه التعليمات البرمجية" في المستعرض. في حالة عدم صحة التعيينات، أحد السلوكين التاليين يحدث:
    • تظهر صفحة فارغة في المستعرض.
    • تتلقى مطالبة لتنزيل صفحة.aspx.
    يحدث هذا السلوك نظراً لعدم معالجة تعليمات برمجية من جانب الخادم أو تنفيذه على النحو المتوقع. وفي كلتا الحالتين تتلقى التعليمات البرمجية المصدر التي لم تتم معالجتها. سيناريو صفحة فارغة، إذا زر الماوس الأيمن فوق الصفحة في المستعرض، ثم انقر فوق عرض المصدر، ستلاحظ ظهور رمز الخادم في شكلها غير المجهزة. على سبيل المثال، في Visual C# ASP.NET ويب نموذج، توجيه الصفحة @ تظهر مشابهة لما يلي:
    <%@ Page language="c#" Codebehind="MappingsTest.aspx.cs" AutoEventWireup="false" Inherits="MyWebApp.MappingsTest" %>

كيفية التحقق من تعيينات التطبيق IIS الخاصة بك

للتحقق من صحة تعيينات التطبيق، اتبع هذه الخطوات:
  1. انقر فوق ابدأوأشر إلى البرامج، وأشر إلى أدوات إدارية، وثم انقر فوق إدارة خدمات إنترنت.
  2. قم بتوسيع العقدة الذي يتوافق مع المضيف المحلي (اسم الكمبيوتر)، ثم قم بتوسيع العقدة موقع ويب الافتراضي .
  3. انقر نقراً مزدوجاً فوق دليل تطبيق ويب الخاص بك ومن ثم انقر فوق خصائص.
  4. على علامة التبويب " الدليل "، ضمن إعدادات التطبيق، انقر فوق تكوين.
  5. انقر فوق علامة التبويب تعيينات التطبيق .
  6. من علامة التبويب تعيينات التطبيق ، ضمن تعيينات التطبيق، تحقق ما إذا كان يتم تعيين ملحق.aspx إلى DLL التالية:
    C:\ويندووسفولدير\Microsoft.Net\Framework\رقم الإصدار\aspnet_isapi.dll
    ملاحظة:
    استبدال ويندووسفولدير باسم الدليل المثبت عليه نظام التشغيل. استبدال رقم الإصدار مع إصدار.NET Framework مثبت على جهاز الكمبيوتر الخاص بك.
  7. إذا تعذر العثور على إدخال التعيين التطبيق، اتبع الخطوات الموجودة في القسم "حل المشكلة" من هذه المقالة.

المراجع

يتم اشتقاق الدقة لإصلاح تعيينات IIS ل ASP.NET من مقالة "قاعدة معارف Microsoft" Q306005.
لمزيد من المعلومات، انقر فوق رقم المقالة التالية لعرضها في "قاعدة معارف Microsoft":

306005 كيفية إصلاح تعيين IIS بعد إزالته ثم إعادة تثبيت IIS

يقدم المقال التالي مزيد من المعلومات التفصيلية حول السيناريو تصحيح ذكرنا سابقا في هذا المستند:

318465 لا يصحح تطبيق ويب ASP.NET

خصائص

رقم الموضوع: 325093 - آخر مراجعة: 15‏/01‏/2017 - المراجعة: 1

تعليقات