ইভেন্ট লগে লেখার সময় সিস্টেম.সিকিউরিটি.সিকিউরিটি এক্সসেপশন


189

আমি সার্ভার ২০০৩ (এবং আইআইএস)) থেকে সার্ভার ২০০ ((আইআইএস)) এএসপি.এনইটি অ্যাপটি পোর্ট করার চেষ্টা করছি।

আমি যখন চেষ্টা করি এবং ব্রাউজারে পৃষ্ঠাটি দেখতে পাই তখন আমি এটি পাই:

'/' আপ্লিকেশনে সারভার এরর

সুরক্ষা ব্যতিক্রম

বর্ণনা: অ্যাপ্লিকেশনটি কোনও সুরক্ষা নীতি দ্বারা অনুমোদিত নয় এমন একটি ক্রিয়াকলাপ করার চেষ্টা করেছে। এই অ্যাপ্লিকেশনটিকে প্রয়োজনীয় অনুমতি দেওয়ার জন্য দয়া করে আপনার সিস্টেম প্রশাসকের সাথে যোগাযোগ করুন বা কনফিগারেশন ফাইলে অ্যাপ্লিকেশনটির বিশ্বাসের স্তরটি পরিবর্তন করুন।

ব্যতিক্রমের বিবরণ: সিস্টেম.সিকিউরিটি.সিকিউরিটি এক্সেক্সেশন: উত্সটি পাওয়া যায় নি, তবে কিছু বা সমস্ত ইভেন্ট লগ অনুসন্ধান করা যায়নি। অ্যাক্সেস অ্যাক্সেস লগ: সুরক্ষা

উত্স ত্রুটি:

বর্তমান ওয়েব অনুরোধটি কার্যকর করার সময় একটি অযৌক্তিক ব্যতিক্রম উত্পন্ন হয়েছিল। নীচে ব্যতিক্রম স্ট্যাক ট্রেস ব্যবহার করে ব্যতিক্রমের উত্স এবং অবস্থান সম্পর্কিত তথ্য সনাক্ত করা যেতে পারে।

স্ট্যাক ট্রেস:

[সুরক্ষা ধারণা: উত্সটি পাওয়া যায় নি, তবে কিছু বা সমস্ত ইভেন্ট লগ অনুসন্ধান করা যায়নি। অ্যাক্সেস অ্যাক্সেস লগ: সুরক্ষা।]

System.Diagnostics.EventLog.FindSourceRegifications (স্ট্রিং সোর্স, স্ট্রিং মেশিননেম, বুলিয়ান রিডঅনলি) +562 সিস্টেম.ডায়াগনস্টিকস.এভেন্টলগ.সোর্সএক্সিস্টস (স্ট্রিং সোর্স, স্ট্রিং মেশিননেম) +251

[স্নিপ]

এটি চেষ্টা এবং সমাধান করার জন্য আমি এগুলি করেছি:

  1. "প্রত্যেককে" কীটিতে সম্পূর্ণ অ্যাক্সেসের অনুমতি দিন HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security। এটি কাজ করে। তবে স্বাভাবিকভাবেই আমি প্রযোজনায় এটি করতে পারি না। তাই আমি কয়েক মিনিট অ্যাপ চালানোর পরে "প্রত্যেকে" অনুমতিটি মুছে ফেলেছি এবং ত্রুটিটি আবার উপস্থিত হয়েছিল।

  2. উন্নত অনুমতি নিয়ে ইনস্টলেশন চলাকালীন আমি অ্যাপ্লিকেশন লগ এবং সুরক্ষা লগের উত্স তৈরি করেছিলাম (এবং আমি এটি রিজেডির মাধ্যমে উপস্থিত করেছি তা যাচাই করেছি) তবে ত্রুটিটি রয়ে গেল।

  3. আমি অ্যাপ্লিকেশনটিকে web.configফাইলটিতে (এবং ব্যবহার করে appcmd.exe) একটি সম্পূর্ণ বিশ্বাসের স্তর দিয়েছি তবে কোনও ফলসই হয়নি।

এখানে কী করা যায় সে সম্পর্কে কারও অন্তর্দৃষ্টি আছে?

পিএস: এটি এই প্রশ্নের অনুসরণ করে । আমি প্রদত্ত উত্তরগুলি অনুসরণ করেছি কিন্তু কোনও লাভ হয়নি (উপরে # 2 দেখুন)।


নেটওয়ার্ক সার্ভিস হিসাবে চলমান একটি নেট নেটওয়ার্কে একটি কাস্টম উত্সে লেখার চেষ্টা করার সময় আমি এটি পেয়েছিলাম। । নেট সার্ভিস সেটআপ প্যাকেজের মাধ্যমে সেটআপ করা পরিষেবার নামটির সাথে মেলে আমি ইভেন্ট লগের উত্সটি পরিবর্তন করেছি এবং এটি রেজিস্ট্রি অনুমতি নির্ধারণ না করেই কাজ করে। সার্ভিসের নামটি ইতিমধ্যে HKEY_LOCAL_MACHINE EM SYSTEM \ কারেন্টকন্ট্রোলসেট \ পরিষেবাদিগুলিতে L ইভেন্টলগ
Jon


2
আর একটি সম্ভাব্য উত্তর: ডান ক্লিক করুন এবং "অ্যাডমিনিস্ট্রেটর
অ্যাড

উত্তর:


169

দিতে Network Serviceপড়ুন অনুমতি EventLog/Securityকী (যেমন Firenzi এবং royrules22 দ্বারা প্রস্তাবিত) থেকে নির্দেশাবলী অনুসরণ করুন http://geekswithblogs.net/timh/archive/2005/10/05/56029.aspx

  1. রেজিস্ট্রি সম্পাদক খুলুন:
    1. Startতারপরে নির্বাচন করুনRun
    2. প্রবেশ করুন regedt32বাregedit
  2. নীচের কীটিতে নেভিগেট করুন / প্রসারিত করুন:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Security

  3. এই এন্ট্রিটিতে ডান ক্লিক করুন এবং অনুমতিগুলি নির্বাচন করুন

  4. যোগ Network Serviceব্যবহারকারী

  5. এটি পড়ার অনুমতি দিন

আপডেট: উপরের পদক্ষেপগুলি বিকাশকারী মেশিনগুলিতে ঠিক আছে, যেখানে আপনি অ্যাপ্লিকেশন ইনস্টল করতে ডিপ্লোয়মেন্ট প্রক্রিয়া ব্যবহার করেন না।
তবে আপনি যদি অন্য মেশিনে আপনার অ্যাপ্লিকেশন স্থাপন করেন তবে সাইলঅভিড এবং নিকোল ক্যালিনুইয়ের উত্তরগুলিতে প্রস্তাবিত হিসাবে ইনস্টলেশন চলাকালীন ইভেন্ট লগ সূত্রগুলি নিবন্ধভুক্ত করার বিষয়টি বিবেচনা করুন ।

আমি পাওয়ারশেল ফাংশনটি ব্যবহার করছি (অক্টোপাস ডিপ্লয়.পিএস 1 এ কল করা)

function Create-EventSources() {
    $eventSources = @("MySource1","MySource2" )
    foreach ($source in $eventSources) {
            if ([System.Diagnostics.EventLog]::SourceExists($source) -eq $false) {
                [System.Diagnostics.EventLog]::CreateEventSource($source, "Application")
            }
    }
}

আইআইএস In-তে আপনি একটি অ্যাপ পুলের পরিচয় হিসাবে "নেটওয়র্ক সার্ভিস" বরাদ্দ করতে পারেন (আপনি অ্যাপ্লিকেশন পুলইডেন্টিটি ডিফল্ট বলে মনে করতে পারেন) বা পরিবর্তে আপনি অ্যাপ্লিকেশন পুলের জন্য একটি নতুন ব্যবহারকারী তৈরি করতে পারেন এবং সেই "কাস্টম অ্যাকাউন্ট" এ অনুমতি সেট করতে পারেন। দেখতে একটি অ্যাপ্লিকেশন পুল জন্য একটি পরিচয় উল্লেখ করুন (আইআইএস 7)
Grokodile

5
পরিবর্তনগুলি কেবল তখনই কার্যকর হয় আপনি আইআইএস-এ আপনার আবেদন পুনরায় চালু করার পরে
জেড কার্লোস

7
আমি আইআইএস_আইইউএসআরএসকে ইভেন্টলগ কীটি লেখার / লেখার এবং সুরক্ষা কীটি পড়ার অনুমতি দিয়েছিলাম। আমার পণ্যটির ইভেন্টলগ কীতে লেখার অ্যাক্সেস প্রয়োজন কারণ এটি নিজস্ব ইভেন্ট উত্স তৈরি করে।
হাঁস 9

1
duck9 আমি IIS8 সংশোধন, এখানে আরো বিস্তারিত জানার জন্য দেখুন: stackoverflow.com/questions/712203/...
thedrs

1
এই পুলটির সমাধানের জন্য অ্যাপ পুল পুল ব্যবহারকারী এবং সম্পর্কিত অনুমতি সম্পর্কিত সার্ভারফল্ট . com/a/81246/219898 দেখুন । ধন্যবাদ @ মিশেল ফ্রেইজিম - একটি বড় সাহায্য ছিল।
অ্যান্টনি হর্ন

58

সমস্যাটি হ'ল কীটি EventLog.SourceExistsঅ্যাক্সেস করার চেষ্টা করে EventLog\Security, অ্যাক্সেস যা কেবলমাত্র প্রশাসকের জন্য অনুমোদিত।

সি # প্রোগ্রাম লগ ইন করার একটি সাধারণ উদাহরণ EventLogহ'ল:

string sSource;
string sLog;
string sEvent;

sSource = "dotNET Sample App";
sLog = "Application";
sEvent = "Sample Event";

if (!EventLog.SourceExists(sSource))
    EventLog.CreateEventSource(sSource, sLog);

EventLog.WriteEntry(sSource, sEvent);
EventLog.WriteEntry(sSource, sEvent, EventLogEntryType.Warning, 234);

যাইহোক, নিম্নলিখিত পংক্তিগুলি যদি প্রোগ্রাম প্রশাসক অনুমতি নেই এবং কী অধীনে পাওয়া না গেলে ব্যর্থ EventLog\Applicationহিসাবে EventLog.SourceExistsতারপর অ্যাক্সেস করতে চেষ্টা করবে EventLog\Security

if (!EventLog.SourceExists(sSource))
    EventLog.CreateEventSource(sSource, sLog);

সুতরাং প্রস্তাবিত উপায় হ'ল একটি ইনস্টল স্ক্রিপ্ট তৈরি করা, যা সম্পর্কিত কী তৈরি করে, যথা:

HKEY_LOCAL_MACHINE Y সিস্টেম \ কারেন্টকন্ট্রোলসেট \ পরিষেবাগুলি \ ইভেন্টলগ og অ্যাপ্লিকেশন ot ডটনেট নমুনা অ্যাপ্লিকেশন

এরপরে কেউ এই দুটি লাইন সরিয়ে ফেলতে পারে।

আপনি .regরেজিস্ট্রি কী তৈরি করতে একটি ফাইলও তৈরি করতে পারেন। কেবলমাত্র নিম্নলিখিত পাঠ্যটি একটি ফাইলে সংরক্ষণ করুন create.reg:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\dotNET Sample App]

1
আমি আমার সমস্ত পরিষেবার জন্য ঠিক এটি করি। আমি বিশ্বাস করি যে এটি করা সঠিক জিনিস। আমি ইভেন্ট লগ ব্যবহার করি না এমন প্রতিটি পরিষেবাদিতে আমার উপরের মতো একটি .reg ফাইল রয়েছে। একটি সামান্য নোট ফাইলটি অবশ্যই ইউনিকোড -32 (সিপি 1200.) হিসাবে সংরক্ষণ করতে হবে
ভালো

এই উত্তর ত্রুটির পিছনে আসল কারণ বর্ণনা করে। চেকটি বিদ্যমান রয়েছে পুরো কীটি গণনা করার চেষ্টা করে। যদি এটি বিদ্যমান থাকে তবে চেকএক্সজিস্টগুলি ভাল কাজ করে।
ড্যানো

ইভেন্টলগ \ সুরক্ষা এটি কাজ করার মূল চাবিকাঠি, নিশ্চিত হয়ে নিন যে এতে আপনার অনুমতি রয়েছে।
প্রিন্সা

45

সমাধানটি ছিল "নেটওয়ার্ক পরিষেবা" অ্যাকাউন্টটি ইভেন্টলগ / সুরক্ষা কীতে পড়ার অনুমতি দেওয়া।


1
আমি আশেপাশে একই রকম সমাধান দেখতে পাচ্ছি। তবে আমি শুধু ভাবছি কেন এটি এরকম। কারণ আমি দেখতে পাচ্ছি যে অনেকগুলি পরিষেবাদি নেটওয়ার্ক সার্ভিস হিসাবে লগইন হয়েছে এবং তারা অবশ্যই ইভেন্ট লগ / সুরক্ষা পড়তে সক্ষম হবে। সুতরাং কেন এটি নেটওয়ার্কসেবার জন্য অনুমতি যুক্ত করা প্রয়োজন?
এইচ - এন

11
আমরা যারা সাধারণত রেজিস্ট্রি দিয়ে ক্রল করি না তাদের জন্য এই লিঙ্কটি সহায়ক হতে পারে: social.msdn.microsoft.com/forums/en-US/…
অ্যালান

দুর্দান্ত লিঙ্ক অ্যালান। গৃহীত উত্তরের দ্বারা পয়েন্ট # 3 গুরুত্বপূর্ণ এবং এটি ইতিমধ্যে একবার আমাকে কামড়েছে। অর্থাত্ প্যারেন্ট ইভেন্টলগ রেজিস্ট্রি কীতে অনুমতি দেওয়ার ফলে সুরক্ষা এবং ভার্চুয়াল সার্ভারের মতো "অ্যাক্সেসযোগ্য লগগুলি" -এ প্রচার করা হয় না, যদিও তারা রেজিস্ট্রিতে চাইল্ড কী। আপনি যদি পুরো ইভেন্টের লগ অ্যাক্সেস চান তবে আপনাকে পিতামাতার ইভেন্ট লগ স্তর এবং শিশু সুরক্ষা স্তরগুলিতে দু'দিকে অনুমতি দিতে হবে।
বেন ব্যার্থ

1
আইআইএস-এ আপনার আবেদন পুনরায় চালু করার পরে পরিবর্তনগুলি কেবল তখনই কার্যকর হয়
জেড কার্লোস

যারা অনুলিপি / আটকানোর চেষ্টা করেছেন, তাদের জন্য নিশ্চিত করুন যে "নেটওয়ার্ক পরিষেবা" শব্দের মধ্যে একটি জায়গা আছে।
ক্রিস ফ্রেমজেন

7

আমার জন্য গোটা 'ইভেন্টলগ' শাখায় 'নেটওয়ার্ক সার্ভিস' এর জন্য 'পড়ুন' অনুমতি দেওয়ার জন্য অনি মজাদার কাজ করে।


এটি খুব প্রাসঙ্গিক নয়, কারণ "সিকিউরিটি" বা "ভার্চুয়াল সার্ভার" এর মতো সাব-কীগুলির জন্য স্বতন্ত্রভাবে পঠিত অ্যাক্সেস প্রদান করা দরকার, কারণ অনুমতিটি প্যারেন্ট কী থেকে উত্তরাধিকার হিসাবে নয় set
সার্জ করুন

7

আমার ভিএস 2010 এর অধীনে বিকাশ হওয়া কনসোল প্রোগ্রামের সাথে আমার খুব অনুরূপ সমস্যা হয়েছিল (এক্সপি এর অধীনে ভিএস ২০০৮ থেকে আপগ্রেড করা হয়েছে) আমার অগ্রগতি কিছু লগিং করতে এনলিব ব্যবহার করে। ত্রুটিটি বরখাস্ত করা হয়েছে কারণ এনটলিবের কাছে নতুন ইভেন্ট উত্স নিবন্ধ করার অনুমতি নেই।

তাই আমি একবার প্রশাসক হিসাবে আমার সংকলিত অগ্রগতি শুরু করেছি : এটি ইভেন্ট উত্সটি নিবন্ধিত করেছে। তারপরে আমি কোনও সমস্যা ছাড়াই ভিএস এর ভিতরে থেকে বিকাশ এবং ডিবাগিংয়ে ফিরে গিয়েছিলাম।

(আপনি http://www.blackwasp.co.uk/EventLog_3.aspx এও উল্লেখ করতে পারেন , এটি আমাকে সহায়তা করেছে


7

এই ব্যতিক্রমটি নির্ধারিত টাস্ক হিসাবে চলমান একটি নেট নেট কনসোল অ্যাপ্লিকেশন থেকে আমার হয়ে আসছে এবং আমি মূলত একই জিনিসটি করার চেষ্টা করছিলাম - একটি নতুন ইভেন্ট উত্স তৈরি করুন এবং ইভেন্ট লগটিতে লিখুন।

শেষের দিকে, নিম্নলিখিত কীগুলিতে টাস্কটি ব্যবহার করা হয়েছিল এমন ব্যবহারকারীর জন্য সম্পূর্ণ অনুমতি নির্ধারণ করা আমার জন্য কৌশলটি করেছে:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Security
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog

3
আপনি আমার দিন বাঁচিয়েছেন। বিটিডব্লিউ, পড়ার অনুমতি যথেষ্ট ছিল eventlog\Applicationএবং eventlog\Security; সম্পূর্ণ eventlogরুট উপর সম্পূর্ণ নিয়ন্ত্রণ প্রয়োজন ।
রুড হেল্ডারম্যান

6

এই সমস্যাটি সমাধান করার জন্য আমি এখানে প্রায় সবকিছুই চেষ্টা করি ... আমি যে উত্তরটি আমাকে সহায়তা করি তা এখানে আমি ভাগ করি:

সমস্যাটি সমাধানের আর একটি উপায়:

  • আইআইএস কনসোলে আপনার অ্যাপ্লিকেশন পুল পরিচালনা করে অ্যাপ্লিকেশন পুলে যান এবং এটি চালানো পরিচয় নোট করুন (সাধারণত নেটওয়ার্ক পরিষেবা)
  • নিশ্চিত করুন যে এই পরিচয়টি KEY_LOCAL_MACHINE Y SYSTEM \ কারেন্ট কন্ট্রোলসেট \ পরিষেবাদিগুলি \ ইভেন্টলগ (কঠোর-ক্লিক, অনুমোদন) পড়তে পারে
  • এখন এই অ্যাপ্লিকেশন পুলের পরিচয়টি স্থানীয় সিস্টেমে পরিবর্তন করুন, প্রয়োগ করুন এবং নেটওয়ার্ক পরিষেবাটিতে ফিরে যান

শংসাপত্রগুলি পুনরায় লোড করা হবে এবং ইভেন্টলগটি পুনরুদ্ধারযোগ্য

মধ্যে http://geekswithblogs.net/timh/archive/2005/10/05/56029.aspx , ধন্যবাদ মাইকেল Freidgeim


"অ্যাপ্লিকেশনপুলআইডেন্টিটি" থেকে "লোকালসিস্টেম" এ অ্যাপ পুলটি পরিবর্তন করা আমার জন্য ইভেন্টের লগগুলি তৈরি / পড়ার বিষয়টি সমাধান করেছে।
majestzim

4

আমি একই ইস্যুতে দৌড়েছি, তবে আমাকে এক স্তর পর্যন্ত যেতে হয়েছিল এবং সুরক্ষাতে নামার পরিবর্তে HKEY_LOCAL_MACHINE \ বর্তমান ont কন্ট্রোলসেট \ পরিষেবাদিগুলি \ ইভেন্টলগ \ কীতে প্রত্যেককে সম্পূর্ণ অ্যাক্সেস দিতে হয়েছিল যা আমার জন্য বিষয়টি পরিষ্কার করেছে।


1
লোকালসিস্টেম হিসাবে চালানোর জন্য অ্যাপ্লিকেশনটি সেট করার চেষ্টা করুন, যাতে রেজিস্ট্রি কী তৈরি হয়, তারপরে আপনি আবার নেটওয়ার্ক সার্ভিসে ফিরে যেতে পারেন।
demcodemonkey

4

উইন্ডোজ 7 64 বাইটে একই সমস্যা। প্রশাসক হিসাবে চালানো সমস্যার সমাধান করুন Run


4

ব্যবহারযোগ্য উত্স নামের নতুন কীটি HKEY_LOCAL_MACHINE Y SYSTEM \ CurrentControlSet \ পরিষেবাদি \ ইভেন্টলগ under অ্যাপ্লিকেশনটির অধীনে তৈরি করা দরকার যখন আপনি System.Diagnostics.EventLog.WritEntry ("SourceName", "ত্রুটিযুক্তকরণ", ইভেন্টলোগ্রাইটি টাইপ) ব্যবহার করেন;

সুতরাং মূলত আপনার ব্যবহারকারীর কীটি তৈরির অনুমতি নেই। অ্যাপ্লিকেশন পুল উন্নত সেটিংসে আপনি পরিচয় মান থেকে ব্যবহার করছেন এমন ব্যবহারকারীর উপর নির্ভর করে নিম্নলিখিতটি করতে পারে:

  1. RegEdit চালান এবং HKEY_LOCAL_MACHINE Y SYSTEM \ কারেন্টকন্ট্রোলসেট \ পরিষেবাগুলি \ ইভেন্টলগ এ যান
  2. ইভেন্টলগ কী এবং সিলেক্ট অনুমতিসমূহ ... বিকল্পটিতে ডান ক্লিক করুন 3.. আপনার ব্যবহারকারীকে পূর্ণ নিয়ন্ত্রণ অ্যাক্সেস যুক্ত করুন।

    -যদি আপনি " নেটওয়ার্ক সার্ভিস " ব্যবহার করেন নেটওয়র্ক সার্ভিস ব্যবহারকারী

    -যদি আপনি "অ্যাপ্লিকেশনপুলআইডেন্টিটি" ব্যবহার করেন তবে আইআইএস অ্যাপপল যুক্ত করুন আপনার অ্যাপ্লিকেশন পুলের নাম} (ব্যবহারকারীকে অনুসন্ধানের সময় স্থানীয় মেশিনের অবস্থান ব্যবহার করুন)।

    -যদি আপনি "লোকালসিস্টেম" ব্যবহার করছেন তবে নিশ্চিত হয়ে নিন যে ব্যবহারকারীর প্রশাসকের অনুমতি রয়েছে। এটি দুর্বলতার জন্য সুপারিশ করা হয় না।

  3. HKEY_LOCAL_MACHINE Y SYSTEM \ কারেন্ট কন্ট্রোলসেট \ পরিষেবাগুলি \ ইভেন্টলগ \ সুরক্ষার জন্য 1 থেকে 3 পদক্ষেপগুলি পুনরাবৃত্তি করুন

ভিজ্যুয়াল স্টুডিওতে ডিবাগ করার জন্য আমি "নেটওয়ার্ক সার্ভিস" ব্যবহার করি (এটি এএসপি.এনইটি ব্যবহারকারী) এবং সাইটটি প্রকাশিত হওয়ার পরে আমি "অ্যাপিকেশনপুলআইডেন্টিটি" ব্যবহার করি।


3

এফওয়াইআই ... আমার সমস্যাটি হ'ল দুর্ঘটনাক্রমে "লোকাল সার্ভিস "টিকে" লোকাল সিস্টেম "এর পরিবর্তে প্রক্রিয়া ইনস্টলারের সম্পত্তি হিসাবে অ্যাকাউন্ট হিসাবে নির্বাচন করা হয়েছিল selected লোকাল সার্ভিস সিলেকশনটি দেখানোর পরে এমএসডিএন টিউটোরিয়ালটি অনুসরণকারী অন্য কারও জন্য কেবল উল্লেখ করা এবং আমি খুব মনোযোগ দিচ্ছি না ....


3

এটির একটি স্পষ্টতই সুস্পষ্ট সমাধান বলে মনে হচ্ছে যে আমি এখনও একটি বিশাল ক্ষতি দেখতে পেলাম, কমপক্ষে যেখানে আপনার নিজের ইভেন্ট উত্স তৈরি করার জন্য প্রশাসনিক অধিকার অর্জন করা কার্যকর নয়: ইতিমধ্যে সেখানে রয়েছে এমন একটি ব্যবহার করুন।

আমি যে দুটি ব্যবহার শুরু করেছি তা হ'ল "। নেট রানটাইম" এবং "অ্যাপ্লিকেশন ত্রুটি", উভয়ই মনে হয় তারা বেশিরভাগ মেশিনে উপস্থিত থাকবেন।

প্রধান অসুবিধাগুলি সেই ইভেন্টটিকে গোষ্ঠীভুক্ত করতে অক্ষম, এবং সম্ভবত আপনার কোনও যুক্ত ইভেন্ট আইডি নেই, যার অর্থ লগ এন্ট্রিটি উত্স থেকে ইভেন্ট ইভেন্ট আইডির 0 বর্ণনার প্রভাবটির সাথে খুব ভাল কিছু উপসর্গযুক্ত হতে পারে et নেট রানটাইম খুঁজে পাওয়া যায় না .... "যদি আপনি এটি বাদ দেন তবে লগটি প্রবেশ করে এবং আউটপুটটি বিস্তৃতভাবে বোধগম্য মনে হয়।

ফলাফলের কোডটি দেখতে দেখতে শেষ:

EventLog.WriteEntry(
    ".Net Runtime", 
    "Some message text here, maybe an exception you want to log",
    EventLogEntryType.Error
    );

অবশ্যই, যেহেতু সবসময়ই কোনও মেশিনে থাকার সম্ভাবনা থাকে কারণ যে কোনও কারণেই সেই ইভেন্টের উত্স নেই, try {} catch{}তাই ব্যর্থ হওয়ার কারণে এবং পরিস্থিতি আরও খারাপ করার ক্ষেত্রে আপনি সম্ভবত এটি মুছতে চান তবে ঘটনাগুলি এখন সংরক্ষণযোগ্য।


2

আমি আইআইএস-তে কাজ করছি না, তবে আমার কাছে এমন একটি অ্যাপ্লিকেশন রয়েছে যা 2K8 বাক্সে একই ত্রুটি ছুড়ে দেয়। এটি একটি 2K3 বাক্সে ঠিক কাজ করে, চিত্র দেখুন।

আমার রেজোলিউশনটি ছিল অ্যাপ্লিকেশনকে উন্নততর অধিকার দেওয়ার জন্য "প্রশাসক হিসাবে রান করুন" এবং সবকিছু সুখে কাজ করে। আমি আশা করি এটি আপনাকে সঠিক পথে পরিচালিত করতে সহায়তা করবে।

উইন্ডোজ 2008 অধিকার / অনুমতি / উন্নতি উইন্ডোজ 2003 থেকে সত্যিই পৃথক 2003, উদাহরণস্বরূপ।


2

হাই যখন আমি একটি অ্যাপ্লিকেশন বিকাশ করছিলাম তখন আমি একই সমস্যায় পড়েছিলাম এবং এটি একটি রিমোট পিসিতে ইনস্টল করতে চেয়েছি, আমি নিম্নলিখিতটি করে এটি ঠিক করেছি:

1) আপনার রেজিস্ট্রি যান, সনাক্ত করুন: এইচকেএলএম \ সিস্টেম \ কারেন্টকন্ট্রোলসেট \ পরিষেবাদি \ ইভেন্টলগ \ অ্যাপ্লিকেশন (??? YOUR_SERVICE_OR_APP_NAME ???)

নোট করুন যে "(??? YOUR_SERVICE_OR_APP_NAME ???)" আপনি যখন আপনার .NET স্থাপনা তৈরি করার সময় এটি সংজ্ঞায়িত করেছিলেন ঠিক তেমনই আপনার অ্যাপ্লিকেশন পরিষেবা নাম, উদাহরণস্বরূপ, আপনি যদি নতুন অ্যাপ্লিকেশনটির নাম "আমার নতুন অ্যাপ" রাখেন তবে কীটি হ'ল: এইচকেএলএম \ সিস্টেম \ কারেন্টকন্ট্রোলসেট \ পরিষেবাগুলি \ ইভেন্টলগ \ অ্যাপ্লিকেশন \ আমার নতুন অ্যাপ্লিকেশন

নোট 2: আপনি কোন ইভেন্টটিতে লিখছেন তার উপর নির্ভর করে আপনি আপনার ডিইভি বাক্স, \ অ্যাপ্লিকেশন \ (উপরে উল্লিখিত হিসাবে), বা আপনার (\ সিস্টেম) বা (\ সুরক্ষা) বেশিরভাগ ক্ষেত্রেই প্রয়োগ করতে পারেন, আপনার অ্যাপ্লিকেশন কোন ইভেন্টে লিখছে , (\ অ্যাপ্লিকেশন) সব সময় ভাল থাকা উচিত।

2) উপরের কীটিতে থাকা, মেনু থেকে; "ফাইল" -> "রফতানি" নির্বাচন করুন এবং তারপরে ফাইলটি সংরক্ষণ করুন। (দ্রষ্টব্য: ইভেন্ট ভিউয়ারে লেখার জন্য যখন অ্যাপ্লিকেশনটিকে এই কীটি অ্যাক্সেস করতে হবে তখন এটি আপনার প্রয়োজনীয় রেজিস্ট্রি সেটিংস তৈরি করবে), নতুন ফাইলটি একটি .REG ফাইল হবে, যুক্তির কারণে, "আমার নতুন অ্যাপ্লিকেশন। আরআরজি" "

৩) প্রোডাকশন স্থাপন করার সময়, সার্ভারের সিস্টেমের প্রশাসক (এসএ) এর সাথে পরামর্শ করুন, অ্যাপ্লিকেশন সহ "আমার নতুন অ্যাপ.আরজি" ফাইলটি হস্তান্তর করুন, এবং এসএকে এই আরইজি ফাইলটি ইনস্টল করতে বলুন, একবার হয়ে গেলে (প্রশাসক হিসাবে) এটি হবে আপনার আবেদনের জন্য কী তৈরি করুন।

৪) আপনার অ্যাপ্লিকেশনটি চালান, এটির চাবি ব্যতীত অন্য কোনও কিছুর অ্যাক্সেস করার দরকার নেই।

এতক্ষণে সমস্যার সমাধান করা উচিত।

কারণ:

ইভেন্টলগে কিছু লেখার অ্যাপ্লিকেশন বিকাশ করার সময়, ইভেন্ট কীলগ রেজিস্ট্রিটির অধীনে এটির জন্য একটি কেই প্রয়োজন হবে যদি এই কীটি পাওয়া যায় না, তবে এটি এটি তৈরি করার চেষ্টা করবে, যা এর পরে অনুমতি না পেয়ে ব্যর্থ হয়। উপরের প্রক্রিয়াটি, একটি অ্যাপ্লিকেশন (ম্যানুয়ালি) মোতায়েন করার মতো যা আমরা নিজেরাই তৈরি করছি এবং যেহেতু আপনি সকলের সাথে অনুমতি যোগ করে রেজিস্ট্রিটি টুইট করছেন না যা উত্পাদনের সার্ভারগুলিতে সুরক্ষিত ঝুঁকি।

আমি আশা করি এটি সমাধান করতে সহায়তা করে।


2

যদিও ইনস্টলারটির উত্তরটি একটি ভাল উত্তর, তবে আপনি যে সফ্টওয়্যারটি লেখেননি সেগুলি পরিচালনা করার ক্ষেত্রে এটি সর্বদা ব্যবহারিক নয়। একটি সহজ উত্তর হ'ল পাওয়ার -শেল কমান্ড নিউ-ইভেন্টলগ ( http://technet.microsoft.com/en-us/library/hh849768.aspx ) ব্যবহার করে লগ এবং ইভেন্ট উত্স তৈরি করা is

অ্যাডমিনিস্ট্রেটর হিসাবে পাওয়ারশেল চালান এবং আপনার প্রয়োজনীয় লগ নাম এবং উত্সটি পরিবর্তন করে নীচের কমান্ডটি চালান।

নিউ-EventLog -LogName আবেদন -Source TFSAggregator

আমি যখন এগ্রিগেটর কোডপ্লেক্স থেকে ইস্যু চালায় তখন ইভেন্ট লগ ব্যতিক্রম সমাধান করতে এটি ব্যবহার করি ।


1

আমাদের সকল 2008 সার্ভারের সাথে একই সমস্যা ছিল। সুরক্ষা লগটি এমন কোনও জিপিওর কারণে পুরোপুরি কাজ করা বন্ধ করে দিয়েছে যা গোষ্ঠীটির অনুমোদনপ্রাপ্ত ব্যবহারকারীদের নিয়ে যায় এবং কী থেকে দূরে অনুমতিটি পড়েছিলHKLM\System\CurrentControlSet\Services\EventLog\security

মাইক্রোসফ্টের সুপারিশ অনুসারে এটি ফিরিয়ে দেওয়া বিষয়টিকে সংশোধন করেছে। আমি সন্দেহ করি যে উচ্চতর স্তরে পড়া সমস্ত অনুমোদনপ্রাপ্ত ব্যবহারকারীকে দেওয়া আপনার সমস্যার সমাধান করবে।


1

আমি অনুরূপ ইস্যু আঘাত - আমার ক্ষেত্রে উত্স অন্তর্ভুক্ত মধ্যে <, >অক্ষর। Bit৪ বিট মেশিনগুলি নতুন এমনকি লগ ব্যবহার করছে - এক্সএমএল বেস আমি বলব এবং এই অক্ষরগুলি (স্ট্রিং থেকে সেট) অবৈধ এক্সএমএল তৈরি করে যা ব্যতিক্রম ঘটায়। যুক্তিযুক্তভাবে এটি মাইক্রোসফ্ট ইস্যু বিবেচনা করা উচিত - উত্স (নাম / স্ট্রিং) সঠিকভাবে পরিচালনা করছেন না।


1

সমাধান খুব সহজ - অ্যাডমিন মোডে ভিজ্যুয়াল স্টুডিও অ্যাপ্লিকেশন চালান!


ভিএস-এ সমস্যা সমাধানের সময় এবং এই ত্রুটিটি পেয়ে গেলে, এটি আমার জন্য এটি ঠিক করে দিয়েছে
রুর্কি

এটি ত্রুটিযুক্ত হবে কারণ এটি ভিএস নয় যা এই কলটি চালাচ্ছে, এটি এমন একটি অ্যাপ্লিকেশন যা সম্ভবত কোনও ভিন্ন সুরক্ষা প্রসঙ্গে চলছে।
CodeMonkey1313

0

আমার অ্যাপ্লিকেশন ক্লায়েন্ট ওয়েব সার্ভারে ইনস্টল হয়ে যায়। নেটওয়ার্ক পরিষেবাদির অনুমতি এবং রেজিস্ট্রি নিয়ে ঝাঁকুনির পরিবর্তে, আমি আমার ইনস্টলারটি পরীক্ষা করে SourceExistsচালানোর বিকল্প বেছে CreateEventSourceনিয়েছি।

আমি log.source = "xx"আমার ইভেন্ট উত্সটি তৈরি না করা হলে এটি একটি পরিচিত উত্সে সেট করার জন্য অ্যাপটিতে প্রায় চেষ্টা / ক্যাপচার যুক্ত করেছি (এটি কেবল তখনই আসবে যদি আমি পুনরায় ইনস্টলের পরিবর্তে একটি .dll অদলবদল করি)।



-1

ভিএস-এর মধ্যে একটি অ্যাপ্লিকেশন চালানোর সময় আমার এই সমস্যাটি ছিল আমাকে যা করতে হয়েছিল তা হল একবার প্রশাসক হিসাবে প্রোগ্রামটি চালানো, তখন আমি ভিএস এর মধ্যে থেকে চালাতে পারি could

প্রশাসক হিসাবে চালানোর জন্য, উইন্ডোজ এক্সপ্লোরারটিতে কেবল আপনার ডিবাগ ফোল্ডারে নেভিগেট করুন। প্রোগ্রামটিতে ডান ক্লিক করুন এবং প্রশাসক হিসাবে চালান চয়ন করুন।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.