এনএইচ 1.1 এ অপ্রকাশিত এক্সপ্রেস হ্যান্ডলার

আমি একটি .NET 1.1 অ্যাপ্লিকেশন বজায় রাখছি এবং যার সাথে আমি নিযুক্ত করা হয়েছে সেগুলির মধ্যে একটিটি নিশ্চিত করে যে ব্যবহারকারী কোন প্রতিকূল ত্রুটির নোটিফিকেশন দেখতে পান না।

আমি হ্যান্ডলারকে Application.ThreadException এ যোগ করেছি এবং AppDomain.CurrentDomain.UnhandledException , যা বলা হয়েছে। আমার সমস্যা হল যে আদর্শ CLR ত্রুটি ডায়ালগ এখনও প্রদর্শন করা হয় (আপগ্রেড হ্যান্ডলারকে বলা হয়)।

জেফ তার ব্লগ এখানে এবং এখানে । কিন্তু কোন সমাধান নেই সুতরাং .NET 1.1 এ আদর্শ উপায় কীভাবে অপ্রয়োজনীয় ব্যতিক্রমগুলি পরিচালনা করা এবং একটি বন্ধুত্বপূর্ণ ডায়ালগ বক্স প্রদর্শন করা হয়?

জাফের প্রতিক্রিয়াটি সঠিক উত্তর হিসেবে চিহ্নিত করা হয়েছিল, কারণ তিনি যে লিঙ্কটি দিয়েছেন তা কী কী প্রয়োজন সে সম্পর্কে সর্বাধিক সম্পূর্ণ তথ্য রয়েছে।

0
যদি আপনি মনে করেন যে এই পোস্টটি উত্তর দেওয়া হয়েছে, দয়া করে উত্তর হিসাবে চিহ্নিত করুন।
যোগ লেখক Anonymous User, উৎস

8 উত্তর

যেহেতু উল্লিখিত ইউএলএস লগের পাশাপাশি আপনি "অ্যাপ্লিকেশন" ইভেন্ট লগে প্রাসঙ্গিক তথ্যও পাবেন।

আপনি অ্যাডমিন ভিউয়ার এ অ্যাডমিনিস্ট্রেটিভ টুলস পেতে পারেন অথবা সরাসরি Run in programvwr.exe লিখতে পারেন।

Codeplex- এ প্রকল্পগুলিও রয়েছে যা ULS লগ ফাইল পরিচালনার জন্য সহায়ক। শুধু Codeplex.com এ ULS অনুসন্ধান করুন

অবশেষে আমি হ্রিস্টো পাভলোভের দ্বারা SPTraceView ব্যবহার করে সুপারিশ করতে পারি যেগুলি আসল সময়ে ঘটতে আপনাকে ULS ইভেন্টগুলি প্রদান করে। ডিবাগিং উৎপাদন যখন বিশেষত শক্তিশালী। এটি DebugView এর সাথে মিলিত হতে পারে।

EDIT: A good blog post on all the logs of SharePoint: How do i troubleshoot SharePoint? So many logs!

8
যোগ
ইউনিফাইড লগিং পরিষেবা
যোগ লেখক Anonymous User, উৎস
ইউএলএস লগগুলি ট্রেস লোগগুলি যেটি এপিআই এর কার্য সম্পাদন করার সময় SharePoint লিখে ডেটা। আপনি সিএ> অপারেশনস> ডায়াগনস্টিক লগিং-এর বিভিন্ন বিভাগগুলির জন্য স্বতন্ত্র ভাবে ULS এবং ইভেন্ট লগগুলির ট্রেস স্তর সেট করতে পারেন। তবে সচেতন থাকুন যে আপনি ল্যাব ল্যাংগুয়েজগুলি উচ্চ স্তরে সেট করলে তা কার্যনির্বাহী এবং স্টোরেজ উভয়ই প্রভাবিত করতে পারে। একটি সমস্যা ডিবাগ করার ক্ষেত্রে আপনি তাদের Verbose করতে সেট করতে পারেন এবং পরে তাদের পরে মাঝারি সেট। আরও পড়ুন: technet.microsoft.com/en-us/library/cc288649.aspx
যোগ লেখক Anonymous User, উৎস
ULS সংক্ষিপ্ত জন্য?
যোগ লেখক engtech, উৎস
ইউনিফাইড লগিং পরিষেবা কি? SharePoint সার্ভারে কিছু নির্দিষ্ট? পড়ার জন্য আপনার কাছে আর কোনও ডকুমেন্ট আছে?
যোগ লেখক engtech, উৎস

ULS লগগুলি নিম্নলিখিত ফোল্ডারে সার্ভার দ্বারা তৈরি করা হয়:

C: \ Program Files \ Common Files \ Microsoft Shared \ ওয়েব সার্ভার এক্সটেনশানগুলি \ 12 \ LOGS

আপনি সেন্ট্রাল অ্যাডওয়ার্ডের মাধ্যমে লগিংয়ের স্তরের পরিবর্তন করতে পারেন। আরও শব্দগুচ্ছ বা কম verbose।

এটি একটি "1২ হিপ" টুলবার যুক্ত করুন শুরু বারে যাতে আপনি সহজে অ্যাক্সেস অ্যাক্সেস করতে পারেন 12 Sharepoint এর বাকি অংশ এবং বাকি 12 টি পিপ।

সেখানে একটি খোলা উৎস সরঞ্জাম আছে যা আপনাকে ব্যবহারকারীর বন্ধুত্বপূর্ণ ইন্টারফেসের মাধ্যমে লগগুলি দেখতে দেয়। একটি উদাহরণ WSS/MOSS লগ ফাইল রিডার , স্টুয়ার্ট স্টারার্স

4
যোগ
এটি একটি ভাল ধারণা যেগুলি থেকে লগ ফাইলগুলিকে সরানো হবে: এবং আপনার ডেটা ড্রাইভ থেকে :-) আপনি কেন্দ্রীয় প্রশাসনে ডায়গনিস্টিক এবং ট্রেস লগ ফাইল পাথ উভয়ই নির্ধারণ করতে পারেন
যোগ লেখক Anonymous User, উৎস
এটা কারণ ট্রেস লগ ক্রমাগত শেয়ারপয়েন্ট দ্বারা লেখা হচ্ছে
যোগ লেখক Anonymous User, উৎস
যখন আমি সর্বশেষতম ফাইল লগটি দেখি, তখন আমি ত্রুটির সাথে মিলিত হয়েছি - ফাইলটি অন্য প্রক্রিয়ায় ব্যবহারকারীর হয়ে থাকে। কোন ধারণা কি ভুল?
যোগ লেখক engtech, উৎস
এমএস এছাড়াও এখানে তাদের ULS ভিউয়ার টুল মুক্তিপ্রাপ্ত হয়েছে code.msdn.microsoft.com/ULSViewer
যোগ লেখক Alex Angas, উৎস
@ অ্যালেক্স অ্যাঙ্গাস যে ULS ভিউয়ারের জন্য লিঙ্কটি আর ভাল নয়। (5 বছর পর, এটা ...)
যোগ লেখক bgmCoder, উৎস
@ বিজিএম এখন এখানে পুনরায় প্রকাশ করা হয়েছে: microsoft.com/en- আমাদের/ডাউনলোড/বিস্তারিত.aspx? id = 44020 অদ্ভুত সময়জ্ঞান ...
যোগ লেখক Alex Angas, উৎস
@ অ্যালেক্সআঙ্গা লিঙ্ক আপডেটের জন্য ধন্যবাদ!
যোগ লেখক bgmCoder, উৎস

"সার্ভারটি ডেটা উত্স থেকে ডেটা পাওয়ার চেষ্টা করার সময় একটি অ-নির্দিষ্ট ত্রুটির দিকে ফিরে আসে। আপনার অনুসন্ধানের বিন্যাস এবং সামগ্রী পরীক্ষা করে আবার চেষ্টা করুন। যদি সমস্যাটি থেকে যায় তবে সার্ভার প্রশাসকের সাথে যোগাযোগ করুন।" ত্রুটি একটি SharePoint ডিজাইনার ত্রুটি এবং আপনি এই সম্পর্কে লগ মধ্যে কিছু দেখতে অসম্ভাব্য।

If you are only doing Data View -> Insert Dataview and getting this error, I'd be surprised. Are you doing anything else before you get the error? It could be that you are trying to insert the Dataview in a part of the page where it cannot be, such as inside another control.

1
যোগ
আপনি সম্ভবত একটি নতুন বিষয় তৈরি করা উচিত যদি আপনি একটি উত্তর চান কি ত্রুটি হতে পারে। প্রশ্ন সাধারণ সম্পর্কে লগিং সম্পর্কে ছিল।
যোগ লেখক Anonymous User, উৎস
হাই মার্ক, আমি ডেটাউইভকে একটি ওয়েবপাটে লেআউট পৃষ্ঠাতে টেনে আছি (আমি লেআউটের উপর ভিত্তি করে একটি নতুন ফাঁকা ওয়েবপৃষ্ঠা পৃষ্ঠা তৈরি করি)। আমি একটি ওয়েবপৃষ্ঠাতে Dataview টেনে তুলতে পারে?
যোগ লেখক engtech, উৎস
আমি এই ক্ষেত্রে এই এক অর্জিত করেছি - সাধারণত একটি তালিকা যা ইতিমধ্যে অনেক আইটেম এবং workflows এবং অন্যান্য মজা আছে একটি সন্ধান ক্ষেত্র যোগ করা - কিছু বিজোড় সংমিশ্রণ যে এসপি পছন্দ না হয় আছে। পরীক্ষার আইটেমগুলি অপসারণ করে সবকিছুই বিশ্বের সেরা সেট করে।
যোগ লেখক ebruchez, উৎস

এটি একটি কনসোল অ্যাপ্লিকেশন বা একটি উইন্ডোজ ফরম অ্যাপ্লিকেশন? এটি যদি একটি .নেট 1.1 কনসোল অ্যাপ্লিকেশন, এটি দুঃখজনকভাবে নকশা দ্বারা - এটি আপনি উল্লেখিত দ্বিতীয় ব্লগ পোস্ট :

BTW, আমার 1.1 মেশিনে MSDN থেকে উদাহরণটি প্রত্যাশিত আউটপুট আছে; এটি ঠিক যে দ্বিতীয় লাইন আপ না দেখা পর্যন্ত আপনি একটি ডিবাগার সংযুক্ত না (বা না)। V2 তে আমরা এমন জিনিসগুলি ছুঁড়ে ফেলেছি যাতে ডিবাগার সংযুক্তির আগে অপ্রয়োজনীয় এক্সেকশপশন ইভেন্টটি ছড়িয়ে পড়ে, যা বেশীরভাগ লোকের প্রত্যাশাকে মনে হয়।

এটি নোট 2.0 মত ভালো করে মনে হয় (ভালতা ধন্যবাদ) এই ভাল, কিন্তু সত্যই, আমি ফিরে যান এবং চেক করার সময় ছিল না।

0
যোগ

ওহ, উইন্ডোজ ফর্মে আপনি অবশ্যই কাজ করতে সক্ষম হবেন। বিভিন্ন থ্রেডের উপর যা ঘটছে তা কেবলমাত্র আপনার কাছেই দেখতে হবে।

আমি এখানে একটি পুরানো কোড প্রকল্প নিবন্ধ আছে যা সাহায্য করা উচিত:

ব্যবহারকারী বন্ধুত্বপূর্ণ ব্যতিক্রম পরিচালনা

0
যোগ

এটি একটি উইন্ডোজ ফরম অ্যাপ্লিকেশন। অ্যাপ্লিকেশন দ্বারা আটকানো ব্যতিক্রমগুলি। থ্রেড এক্সেসাশন কাজটি জরিমানা, এবং আমি কুশ্রী না। NET ব্যতিক্রম বাক্স ( ওকে বন্ধ করতে, বাতিল করুন ডিবাগ করতে? যে সঙ্গে ??)

আমি এমন কিছু ব্যতিক্রম পেয়েছি যা সেগুলি দ্বারা আটকাতে পারেনি এবং AppDomain.UnhandledException ইভেন্টে গিয়ে শেষ হয়ে গিয়েছিল যা সমস্যার সৃষ্টি করেছিল। আমি মনে করি আমি ঐ ব্যতিক্রম অধিকাংশ ধরা হয়েছে, এবং আমি এখন আমাদের চমৎকার ত্রুটি বাক্সে তাদের প্রদর্শন করা হয়

তাই আমি আশা করব যে এমন কোনও কিছু নেই যা অ্যাপ্লিকেশন দ্বারা আটকাতে পারে এমন ব্যতিক্রমগুলির কারণ হতে পারে। থ্রেড এক্সসেসমেন্ট হ্যান্ডলার

0
যোগ

AppDomain.UnhandledException is an event, not a global exception handler. This means, by the time it is raised, your application is already on its way down the drain, and there is nothing you can do about it, except for doing cleanup and error logging.

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

এই ধরনের ত্রুটি কোন একক পয়েন্ট সমাধান নেই আপনি যদি এই ত্রুটিটি ঘটে এবং যেখানে (উদাহরণস্বরূপ) একটি বিশ্বব্যাপী হ্যান্ডলার পদ্ধতি / বর্গ তা অগ্রসর একটি বাস্তব ব্যতিক্রম হ্যান্ডলার (একটি ছিটকিনি) আপগ্রেড করা প্রয়োজন যেখানে এটি শুধুমাত্র উপর রিপোর্ট এবং অবিরত নিরাপদ, এটি নির্ধারণ করা হবে ব্যতিক্রম ধরনের এবং / অথবা কন্টেন্ট

সম্পাদনা: অ্যান্টিভাইরাস (= হ্যাক) অ্যান্টি-রিপোটিং প্রক্রিয়াটি উইন্ডোজ-এ তৈরি করা সম্ভব, যাতে বাধ্যতামূলক "ক্র্যাশ ও বার্ন" ডায়ালগ প্রদর্শন না হয় যখন আপনার অ্যাপটি হ্রাস পায়। তবে, এটি সব সিস্টেমের অ্যাপ্লিকেশনের জন্য কার্যকরী হয়ে ওঠে, আপনার নিজস্ব নয়।

0
যোগ

একটি .নেট 1.x উইন্ডোজ ফরম অ্যাপ্লিকেশন এ অপ্রকাশিত ব্যতিক্রম আচরণ নির্ভর করে:

  • ব্যতিক্রমটি ছুড়ে ফেলে এমন থ্রেডটির ধরন
  • উইন্ডো বার্তার প্রক্রিয়াকরণের সময় এটি ঘটেছে কিনা
  • কি ডিবাগারটি প্রক্রিয়ায় যুক্ত হয়েছে
  • ডিবিজিজেটিড ডেইবগ ল্যাঙ্কসেটিং রেজিস্ট্রি সেটিং
  • App.Config
  • এ jitDebugging পতাকা
  • আপনি কি উইন্ডোজ ফরম ডিসপ্লে হ্যান্ডলারের উপরে ওভাররড করেছেন
  • আপনি কি CLR এর ব্যতিক্রম ইভেন্ট পরিচালনা করেছেন
  • চাঁদের ফাঁকে

অসংরক্ষিত ব্যতিক্রমগুলির ডিফল্ট আচরণ হল:

  • যদি উইন্ডোজ বার পাম্প করার সময় প্রধান থ্রেডে আপগ্রেড হয় তবে এটি উইন্ডোজ ফরম ডিসপ্লে হ্যান্ডলার দ্বারা আটকানো হয়।
  • যদি উইন্ডোজ বার পাম্প করার সময় প্রধান থ্রেডে আপগ্রেড হয়, তবে এটি উইন্ডোজ ফরম ডিসপ্লে হ্যান্ডলার দ্বারা আটক না হওয়া পর্যন্ত অ্যাপ্লিকেশন প্রক্রিয়া বন্ধ করে দেবে।
  • যদি ম্যানুয়াল, থ্রেডফুল বা চূড়ান্তকরণের থ্রেডে ব্যতিক্রম ঘটে তবে এটি CLR দ্বারা গ্রস্ত হয়।

একটি অপ্রচলিত ব্যতিক্রমের জন্য যোগাযোগের পয়েন্ট হল:

  • উইন্ডোজ ফর্স ব্যতিক্রম হ্যান্ডলার।
  • জিআইটি-ডিবাগ রেজিস্ট্রি সুইচ ডিবিজিজেডডাবুগল ল্যাং স্যাটিং।
  • CLR অপ্রকাশিত ব্যতিক্রম ঘটনা।

উইন্ডোজ ফরম বিল্ট-ইন আপগ্রেড হ্যান্ডলিং ডিফল্টভাবে নিম্নোক্ত কাজ করে:

  • Catches an unhandled exception when:
    • exception is on main thread and no debugger attached.
    • exception occurs during window message processing.
    • jitDebugging = false in App.Config.
  • Shows dialog to user and prevents app termination.

আপনি App.Config- এ jitDebugging = সত্য সেটিং দ্বারা পরবর্তী আচরণটি অক্ষম করতে পারেন। কিন্তু মনে রাখবেন যে এই অ্যাপ্লিকেশন পরিসমাপ্তি থামাতে আপনার শেষ সুযোগ হতে পারে। তাই একটি অবিচ্ছিন্ন ব্যতিক্রম ধরতে পরবর্তী ধাপ ইভেন্ট অ্যাপ্লিকেশন জন্য নিবন্ধন করা হয়। থ্রেড এক্সসেসেশন, যেমন:

Application.ThreadException += new
Threading.ThreadExceptionHandler(CatchFormsExceptions);

রেজিস্ট্রি সেটিংটি DbgJitDebug ল্য্যাচ করুন HKEY_LOCAL_MACHINE \ Software.NetFramework এর অধীনে সেটআপ করুন। এর তিনটি মান আছে যার মধ্যে আমি সচেতন:

  • 0: "ডিবাগ বা সমাপ্ত" জিজ্ঞাসা করে ব্যবহারকারীর ডায়ালগ দেখায়।
  • 1: এর সাথে মোকাবেলা করার জন্য CLR এর মাধ্যমে ব্যতিক্রমটি বাদ দিন।
  • 2: ডিবিজিম্যানগেডডবগার রেজিস্ট্রি কীতে নির্দিষ্ট ডিবাগার লঞ্চ করুন।

ভিসুয়াল স্টুডিওতে, মেনুতে সরঞ্জাম যান? বিকল্প ? ডিবাগিং ? JIT এই কীটি 0 বা ২ তে সেট করতে। তবে 1-এর মানটি শেষ-ব্যবহারকারীর মেশিনে সাধারণত ভাল। মনে রাখবেন যে এই রেজিস্ট্রি কীটি CLR অপ্রকাশিত ব্যতিক্রম ইভেন্টের আগে কাজ করে।

এই শেষ ঘটনাটি একটি অপ্রচলিত ব্যতিক্রম লগ করার আপনার শেষ সুযোগ। আপনার শেষ ব্লকগুলি কার্যকর করার আগে এটি চালু হয়েছে। আপনি এই ইভেন্টটি নিম্নোক্তভাবে আটকাতে পারেন:

AppDomain.CurrentDomain.UnhandledException += new
System.UnhandledExceptionEventHandler(CatchClrExceptions);
0
যোগ