أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

FIX: "تم رفض الوصول" ظهور رسالة خطأ عند محاولة الوصول إلى خدمة الفهرسة من ASP.NET مع تمكين الانتحال

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

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

تفاصيل الاستثناء: System.Data.OleDb.OleDbException: تم رفض الوصول.
يتم احترام هذا السلوك فقط إذا قمت بتمكين الانتحال لتطبيق ويب ASP.NET وفي حالة حساب ASPNET سياق الأمان الذي تعمل ضمنه العملية التابعة ASP.NET (Aspnet_wp.exe).
الحل

معلومات حزمة الخدمة

لحل هذه المشكلة، يجب الحصول على أحدث حزمة خدمة لنظام التشغيل Microsoft Windows 2000. لمزيد من المعلومات، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف لـ Microsoft:
260910كيفية الحصول على أحدث حزمة خدمة لنظام التشغيل Windows 2000
الحل البديل
كمحاولة للتغلب على هذه المشكلة استخدم إحدى الطرق التالية:
  • تعطيل الانتحال لتطبيق ويب ASP.NET بالكامل. هذا هو الإعداد الافتراضي.
  • تعطيل الانتحال فقط من أجل صفحة .aspx معينة لا البحث "خادم الفهرس". للقيام بذلك، قم بإضافة علامة <location>إلى ملف Web.config كما يلي:
    <location path="filename.aspx"><system.web>   <identity impersonate="false" /></system.web></location>					
إذا لم تكن هذه الحلول البديلة مقبولة لك يمكنك تغيير سياق الأمان الذي العملية المنفِذة ASP.NET ضمنه إلى حساب النظام. ومع ذلك، لا تنصح Microsoft تعيين سياق الأمان الخاص العملية المنفِذة ASP.NET إلى حساب SYSTEM لأن حساب النظام غير حساب مسؤول مميز بشدة على كمبيوتر ملقم ويب. استخدام هذا الحل فقط إذا كان أي من الحلول الأخرى المقبولة لك.

لتغيير سياق الأمان الذي تعمل ضمنه العملية التابعة ASP.NET تعيين سمة userName إلى النظام ثم قم بتعيين سمة كلمة المرور إلى autogenerate في <processmodel> المقطع من الملف Machine.config. يتم وضع الملف Machine.config في مجلد \Microsoft.Net\Framework\v1.0.3705\Config C:\ Windows Directory.
تصريح
أقرت Microsoft أن هذا خطأ في منتجات Microsoft المسردة في قسم "تنطبق على".تم تصحيح هذه الأخطاء في ASP.NET (مضمنة .NET Framework) 1.1. أقرت Microsoft أن هذه مشكلة في نظام التشغيل Microsoft Windows 2000. تم تصحيح هذه المشكلة لأول مرة في Microsoft Windows 2000 Service Pack 4.
معلومات أخرى

خطوات إعادة إنشاء في سلوك

  1. بدء تشغيل Microsoft Visual Studio .NET.
  2. إنشاء تطبيق ويب ASP.NET.
  3. قم بإضافة التعليمات البرمجية التالية في HTML لصفحة .aspx:
    <%@ Page language="c#" %><%            System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection("provider=msidxs;");            conn.Open();            string Sql = "Select DocTitle, vpath, characterization, rank from Scope(' DEEP TRAVERSAL OF \"C:\\\" ')  where FREETEXT(' \"ticket\" ') order by rank desc";            System.Data.OleDb.OleDbDataAdapter da = new System.Data.OleDb.OleDbDataAdapter(Sql, conn);            System.Data.DataSet ds = new System.Data.DataSet();            da.Fill(ds, "SearchResults");            Response.Write("Search Results: <br>");            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)            {                        Response.Write("<br>" + ds.Tables[0].Rows[i]["vpath"].ToString());            }%>					
  4. تعديل ملف Web.config لتمكين الانتحال كما يلي:
    <identity impersonate="true" />					
  5. تأكد من أن سياق الأمان الذي تعمل ضمنه العملية التابعة Aspnet_wp.exe هو حساب ASPNET. للقيام بذلك، تعيين سمة userName إلى الجهاز ثم قم بتعيين سمة كلمة المرور إلى autogenerate في <processmodel> المقطع من الملف Machine.config.

    ملاحظة افتراضياً، يتم تعيين عملية العامل ASP.NET للتشغيل ضمن سياق الأمان لحساب ASPNET مقيد.
  6. بدء تشغيل "خدمة الفهرسة" على جهاز الكمبيوتر الخاص بك.
  7. إنشاء التطبيق ثم قم بفتح صفحة .aspx في المستعرض الخاص بك. لاحظ أن تتلقى رسالة الخطأ المسردة في قسم "مؤشرات الخطأ".
مراجع
لمزيد من المعلومات حول الانتحال في ASP.NET انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف لـ Microsoft:
306158كيفية تنفيذ الانتحال في أحد تطبيقات ASP.NET
لمزيد من المعلومات حول هوية العملية المنفذة ASP.NET انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف لـ Microsoft:
317012هوية عملية وطلب في ASP.NET

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

خصائص

رقم الموضوع: 323293 - آخر مراجعة: 07/05/2006 15:50:24 - المراجعة: 3.1

Microsoft ASP.NET 1.0, Microsoft Index Server 2.0, Microsoft OLE DB Provider for Index Server 3.0

  • kbmt kbhotfixserver kbqfe kbwin2ksp4fix kbother kbfix kbbug kbconfig kbnofix kbsecurity KB323293 KbMtar
تعليقات
amp;t=">