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

PRB: "Access السجل المطلوب هو غير مسموح بها" رسالة خطأ عند محاولة كتابة EventSource جديد في سجل الأحداث التطبيقات ASP.NET

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

329291
الأعراض
عند استخدام ASP.NET لإنشاء مصدر حدث جديد في سجل الأحداث "، قد تتلقى رسالة الخطأ التالية:
System.Security.SecurityException: غير مسموح الوصول إلى التسجيل المطلوب.
السبب
رمز المستخدم من عملية العامل ASP.NET بشكل افتراضي ASPNET (أو NetworkService للتطبيقات التي تعمل على "خدمات معلومات إنترنت" 6.0 [IIS]). تحدث المشكلة في قسم "الأعراض" لأنه ليس لدى الحساب الخاص بك حقوق مستخدم الصحيح لإنشاء مصدر حدث.
الحل
هام هذا المقطع أو أسلوب أو المهمة على خطوات إخبارك عن كيفية تعديل التسجيل. ومع ذلك، قد تحدث مشكلات خطيرة في حالة تعديل السجل بطريقة غير صحيحة. لذلك، تأكد من اتبع الخطوات التالية بعناية. للحصول على الحماية المضافة عمل نسخة احتياطية من السجل قبل تعديله. ثم يمكنك استعادة السجل في حالة حدوث مشكلة. للحصول على مزيد من المعلومات حول كيفية عمل نسخة احتياطية من السجل واستعادته انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف لـ Microsoft:
322756كيفية عمل نسخة احتياطية و استعادة التسجيل في Windows
لحل هذه المشكلة، يجب أن مستخدم الذي لديه الحقوق الإدارية إنشاء مصدر الحدث قبل تشغيل تطبيق ويب ASP.NET. لإنشاء مصدر حدث استخدم إحدى الطرق التالية.

منهج الأول

إنشاء مصدر حدث ضمن سجل أحداث التطبيق في "محرر التسجيل". للقيام بذلك، اتبع الخطوات التالية:
  1. انقر فوق ابدأ ثم انقر فوق تشغيل.
  2. في مربع النص فتح ، اكتب regedit.
  3. حدد موقع مفتاح التسجيل الفرعي التالي:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application
  4. انقر بزر الماوس الأيمن فوق المفتاح الفرعي التطبيق وأشر إلى جديد ثم ثم انقر فوق مفتاح.
  5. نوع الاختبار اسم المفتاح.
  6. أغلق محرر التسجيل.

منهج الثاني

فئة EventLogInstaller في مساحة الاسم System.Diagnostics يسمح بتثبيت وتكوين سجل أحداث التطبيق الخاص بك من القراءة من أو الكتابة أثناء التشغيل. يمكنك إنشاء مصدر حدث باستخدام EventLogInstaller. للقيام بذلك، اتبع الخطوات التالية:
  1. استخدام Microsoft Visual Basic .NET أو Microsoft Visual C# .NET لإنشاء جديدة مكتبة الفئات المسمى EventLogSourceInstaller. افتراضياً، يتم إنشاء ملف Class1.vb أو ملف Class1.cs.
  2. في "مستكشف الحلول" انقر بزر الماوس الأيمن فوق EventLogSourceInstaller ومن ثم انقر فوق إضافة مراجع.
  3. في مربع الحوار إضافة المرجع، انقر نقراً مزدوجاً فوق System.Configuration.Install.dll ثم انقر فوق موافق.
  4. إعادة تسمية في Class1.vb\Class1.cs MyEventLogInstaller.vb\MyEventLogInstaller.cs.
  5. استبدال التعليمات البرمجية الموجودة في MyEventLogInstaller.vb أو MyEventLogInstaller.cs نموذج التعليمات البرمجية التالي:

    نموذج .NET الأساسية المرئية
    Imports System.DiagnosticsImports System.Configuration.InstallImports System.ComponentModel<RunInstaller(True)> _Public Class MyEventLogInstaller    Inherits Installer    Private myEventLogInstaller As EventLogInstaller    Public Sub New()        ' Create an instance of 'EventLogInstaller'.        myEventLogInstaller = New EventLogInstaller()        ' Set the 'Source' of the event log, to be created.        myEventLogInstaller.Source = "TEST"        ' Set the 'Log' that the source is created in.        myEventLogInstaller.Log = "Application"        ' Add myEventLogInstaller to 'InstallerCollection'.        Installers.Add(myEventLogInstaller)    End Sub End Class 
    نموذج Visual C# لـ .NET
    using System;using System.Diagnostics;using System.ComponentModel;using System.Configuration.Install;namespace EventLogSourceInstaller {	[RunInstaller(true)]	public class MyEventLogInstaller : Installer	{		private EventLogInstaller myEventLogInstaller;		public MyEventLogInstaller()		{			//Create Instance of EventLogInstaller			myEventLogInstaller = new EventLogInstaller();			// Set the Source of Event Log, to be created.			myEventLogInstaller.Source = "TEST";			// Set the Log that source is created in			myEventLogInstaller.Log = "Application";						// Add myEventLogInstaller to the Installers Collection.			Installers.Add(myEventLogInstaller);		}	}}
  6. في القائمة إنشاء ، انقر فوق إنشاء حلول لإنشاء EventLogSourceInstaller.dll.
  7. افتح في Visual Studio .NET موجه.
  8. في موجه أوامر التغيير إلى المجلد حيث يوجد EventLogSourceInstaller.dll.
  9. قم بتشغيل الأمر التالي لإنشاء EventSource:
    InstallUtil EventLogSourceInstaller.dll
معلومات أخرى

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

  1. استخدم Visual Basic .NET أو Visual C# .NET لإنشاء تطبيق ويب ASP.NET جديدة. افتراضياً، يتم إنشاء ملف WebForm1.aspx.
  2. في طريقة عرض HTML WebForm1.aspx ، استبدل التعليمات البرمجية الموجودة نموذج التعليمات البرمجية التالي:

    Visual Basic .NET نموذج
    <%@ Page Language="vb" AutoEventWireup="true" %><%@ Import namespace="System.Diagnostics" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML>	<script language="VB" runat="server">	Sub WriteEvent_Click(Src As Object, e As EventArgs)	Dim ev As New EventLog("Application")	' Event's Source name	ev.Source = "TEST" 		EventLog.CreateEventSource(ev.Source, "Application")	Try	 ev.WriteEntry(TextBox1.Text)	Catch b as exception	 Response.write ("WriteEntry " & b.message & "<br>")	End Try	ev = Nothing	End Sub	</script>	<body>		<form id="Form1" runat="server">			Event message: 			<asp:textbox id="TextBox1" runat="server" Width="233px"></asp:textbox>			<asp:button id="Button1" onclick="WriteEvent_Click" runat="server" NAME="Button1" text="Write to event log"></asp:button>		</form>	</body></HTML>
    نموذج Visual C# لـ .NET
    <%@ Page Language="c#" AutoEventWireup="true" %><%@ Import namespace="System.Diagnostics" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML>	<script language="C#" runat="server">	void WriteEvent_Click(Object Src, EventArgs e)	{	EventLog ev = new EventLog("Application");	// Event's Source name	ev.Source = "TEST";  		EventLog.CreateEventSource(ev.Source, "Application");			try			{				ev.WriteEntry(TextBox1.Text);			}			catch (Exception b)			{				Response.Write("WriteEntry " + b.Message + "<br>");			}			ev = null;	}	</script>	<body>		<form id="Form1" runat="server">			Event message: 			<asp:textbox id="TextBox1" runat="server" Width="233px"></asp:textbox>			<asp:button id="Button1" onclick="WriteEvent_Click" runat="server" NAME="Button1" text="Write to event log"></asp:button>		</form>	</body></HTML>
  3. في القائمة "تصحيح" ، انقر فوق "ابدأ" لعرض الصفحة WebForm1.aspx في المستعرض.
  4. اكتب بعض نص في مربع نص ثم انقر فوق الكتابة إلى سجل الأحداث.
  5. رسالة الخطأ الموضحة في "مؤشرات الخطأ" يظهر القسم من هذه المقالة.
  6. لحل هذه المشكلة، قم بإنشاء "مصدر الحدث" كما هو موضح في قسم "الحل" والتعليق التعليمة البرمجية التالية في WebForm1.aspx:
    EventLog.CreateEventSource(ev.Source, "Application")
  7. كرر الخطوتين 3 و 4.
مراجع
لمزيد من المعلومات، قم بزيارة مواقع Microsoft التالية على الويب:

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

خصائص

رقم الموضوع: 329291 - آخر مراجعة: 12/03/2007 19:54:00 - المراجعة: 2.10

  • Microsoft ASP.NET 1.1
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Internet Information Services 5.0
  • Microsoft Internet Information Services version 5.1
  • Microsoft Internet Information Services 6.0
  • kbmt kberrmsg kbwebforms kbsecurity kbprb KB329291 KbMtar
تعليقات