এএসপি.নেট এমভিসি অ্যাপ্লিকেশনগুলিতে ওয়েবকনফিগ ফাইলের customErrors
এবং httpErrors
বিভাগগুলির মধ্যে পার্থক্য কী ?
প্রতিটি বিভাগ ব্যবহার করার জন্য গাইডলাইন কি?
এএসপি.নেট এমভিসি অ্যাপ্লিকেশনগুলিতে ওয়েবকনফিগ ফাইলের customErrors
এবং httpErrors
বিভাগগুলির মধ্যে পার্থক্য কী ?
প্রতিটি বিভাগ ব্যবহার করার জন্য গাইডলাইন কি?
উত্তর:
দাবি অস্বীকার: এটি আমার অভিজ্ঞতা থেকে প্রমাণিত সত্য নয়।
উভয়ই কোনও ওয়েবসাইটের জন্য ত্রুটি পরিচালনার সংজ্ঞা দিতে ব্যবহৃত হয়, তবে বিভিন্ন সফ্টওয়্যার বিভিন্ন কনফিগার উপাদানগুলিকে বোঝায়।
customErrors
ভিজ্যুয়াল স্টুডিও ডেভলপমেন্ট সার্ভার (ওরফে ভিএসডিএস বা ক্যাসিনি) দ্বারা ব্যবহৃত একটি উত্তরাধিকার (পিছনের দিকে তুলনীয়) উপাদান।
httpErrors
নতুন উপাদান যা কেবল আইআইএস 7 দ্বারা ব্যবহৃত হয়।
স্থানীয় আইআইএসের পরিবর্তে ভিএসডিএস ব্যবহার করার সময় এএসপি.এনইটি ওয়েবসাইটগুলি বিকাশ করার সময় এটি সম্ভাব্য সমস্যাটি হাইলাইট করে ।
এছাড়াও, আপনি যদি ত্রুটি আউটপুটটির সম্পূর্ণ নিয়ন্ত্রণ রাখতে চান তবে আইআইএস with এর সাথে কীভাবে ত্রুটি বার্তাগুলি পরিচালনা করবেন সে সম্পর্কে নিজেই এই পোস্টটি দেখুন ।
VSDS
ব্যবহারে বিকাশ করছেcustomErrors
IIS6
ব্যবহারের জন্য সাইট প্রকাশ করাcustomErrors
IIS7
ব্যবহারের জন্য সাইট প্রকাশ করা httpErrors
।এবং যদি আপনি এর সাথে বিকাশ করেন VSDS
তবে প্রকাশিত হন IIS7
তবে আমার ধারণা আপনার উভয়ের প্রয়োজন হবে।
* এপ্রিল 2016 আপডেট হয়েছে
যখন। নেট কোডটি একটি ব্যতিক্রম (404, 403, 500 ইত্যাদি) ছুড়ে থাকে তখন আইআইএস নিজেই ব্যতিক্রম ছুঁড়ে দিলে httpErferences বৈশিষ্ট্যটি ব্যবহৃত হয়।
এটি সঠিকভাবে কনফিগার করার চেষ্টা করছে অনেকগুলি সমস্যা pit সুতরাং আপনি যদি একটি দ্রুত উদাহরণ খুঁজছেন তবে আপনার কাছে সেরা 2 টি বিকল্প রয়েছে:
উদাহরণ 1: এইচটিএমএল পৃষ্ঠাগুলি ব্যবহার করা
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="/Error500.html" redirectMode="ResponseRewrite">
<error statusCode="403" redirect="/Error403.html" />
<error statusCode="404" redirect="/Error404.html" />
<error statusCode="500" redirect="/Error500.html" />
</customErrors>
</system.web>
<system.webServer>
<httpErrors errorMode="DetailedLocalOnly" existingResponse="Auto">
<remove statusCode="403" />
<remove statusCode="404" />
<remove statusCode="500" />
<error statusCode="403" responseMode="File" path="Error403.html" />
<error statusCode="404" responseMode="File" path="Error404.html" />
<error statusCode="500" responseMode="File" path="Error500.html" />
</httpErrors>
</system.webServer>
উদাহরণ 2: এসপেক্স পৃষ্ঠা ব্যবহার করে
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="/Error500.html" redirectMode="ResponseRewrite">
<error statusCode="403" redirect="/Error403.aspx" />
<error statusCode="404" redirect="/Error404.aspx" />
<error statusCode="500" redirect="/Error500.aspx" />
</customErrors>
</system.web>
<system.webServer>
<httpErrors errorMode="DetailedLocalOnly" existingResponse="Auto">
<remove statusCode="403" />
<remove statusCode="404" />
<remove statusCode="500" />
<error statusCode="403" responseMode="ExecuteURL" path="Error403.aspx" />
<error statusCode="404" responseMode="ExecuteURL" path="Error404.aspx" />
<error statusCode="500" responseMode="ExecuteURL" path="Error500.aspx" />
</httpErrors>
</system.webServer>
এবং এসপেক্স ত্রুটি পৃষ্ঠাগুলিতে আপনাকে এর মতো কিছু করতে হবে (উদাহরণস্বরূপ 404 পৃষ্ঠা):
<%
Response.StatusCode = 404;
Response.TrySkipIisCustomErrors = true;
%>
দ্রষ্টব্য: কাস্টমআরিয়ার্স বিভাগে এক্সটেনশন কম url ব্যবহার করা সম্ভব নয়! । (হ্যাক ছাড়া)
চারপাশের একটি কাজ হ'ল কাস্টম ত্রুটিগুলি অক্ষম করা এবং কাস্টম পৃষ্ঠাটি HTTP ত্রুটিগুলি পরিচালনা করতে দেওয়া। কোনও বন্ধু এমন সেটআপ তৈরি করেছে, যখন আমি কিছু সময় পাই, আমি কোডটি ভাগ করব।
পটভূমি
একটি ভাল কাস্টম ত্রুটি পৃষ্ঠা করবে:
সুতরাং আমাদের কনফিগারেশনে কিছু বিকল্প ব্যাখ্যা করতে:
<customErrors mode="RemoteOnly"
। আপনি এখানে উল্লেখ করতে পারেন: On
, Off
, RemoteOnly
।
On
= সর্বদা কাস্টম ত্রুটি পৃষ্ঠা প্রদর্শন করুনOff
= সর্বদা আসল ত্রুটি প্রদর্শন করুনRemoteOnly
= স্থানীয়ভাবে ত্রুটিটি দেখান, তবে কাস্টম ত্রুটি পৃষ্ঠাটি দূর থেকে দেখান। সুতরাং আমরা RemoteOnly
বিবৃতি 1 চাই<customErrors redirectMode="ResponseRewrite"
। আপনি এখানে নির্দিষ্ট করতে পারেন: ResponseRedirect
বা ResponseRewrite
। ResponseRedirect
মোড কাস্টম ত্রুটি পৃষ্ঠায় ত্রুটি পৃষ্ঠা পুনর্চালনা করবে। একটি লিঙ্ক ক্রলার (এসইও) এর জন্য, এর ফলস্বরূপ 302 -> 500 হবে তবে আপনি লিঙ্ক ক্রলারটি 500 ত্রুটি পেতে চান।
<httpErrors errorMode="DetailedLocalOnly"
। এটি customErrors
মোডের সমতুল্য । বিকল্প ব্যবহার করতে পারেন আপনার: Custom
, Detailed
, DetailedLocalOnly
।
একটি ভাল ব্লগ পোস্ট যা আমাকে অনেক সাহায্য করেছিল: http://benfoster.io/blog/aspnet-mvc-custom-error-pages
<customErrors>
বনাম <httpErrors>
<customErrors>
<httpErrors>
দ্রষ্টব্য: এটি আর ব্যবহারের প্রয়োজন নেই
customErrors
উদ্ধৃত উত্স: কাস্টম 404 এবং এএসপি.নেটে ত্রুটি পৃষ্ঠা (দুর্দান্ত নিবন্ধ)
ExecuteURL
একটি .aspx পৃষ্ঠা হিসাবে গতিশীল সামগ্রী পরিবেশন করে ( path
মানটি একটি সার্ভারের তুলনামূলক URL হতে হবে ):
<system.webServer>
<httpErrors errorMode="Custom" existingResponse="Auto" defaultResponseMode="ExecuteURL" >
<remove statusCode="404"/>
<error statusCode="404" responseMode="ExecuteURL" path="/error.aspx" />
</httpErrors>
</system.webServer>
File
একটি কাস্টম ত্রুটি ফাইল পরিবেশন করে যেমন একটি html পৃষ্ঠা:
<system.webServer>
<httpErrors errorMode="Custom" existingResponse="Auto" defaultResponseMode="File" >
<remove statusCode="404"/>
<error statusCode="404" path="404.html" />
</httpErrors>
</system.webServer>
তথ্যসূত্র: HTTP ত্রুটি (www.iis.net)
আরও তথ্যের জন্য উপরের www.iis.net লিঙ্কটি পড়ুন
it's no loger necesary to use customErrors
এবং উদ্ধৃতিটির জন্য +1 , এটি আমার পরে তথ্য ছিল :-)
ওয়েব কনফিগারেশনে ত্রুটিগুলি বিভাগটি কাস্টম HTTP ত্রুটি পরিচালনার পদ্ধতির সরবরাহের জন্য রয়েছে দুটি বিভাগ রয়েছে, একটি বিভাগের অভ্যন্তরে একটি কাস্টমঅর্থ রয়েছে b ওয়েবটি এবং বিভাগের ভিতরে আরেকটি httpErferences.WbServer (নীচে দেওয়া হয়েছে)
কাস্টমআরয়েরস: আইআইএস 7 প্রবর্তনের আগে, আইআইএস 6 5 এর আগে এবং এইচটিসি স্থিতি কোড অনুসারে কাস্টম HTTP ত্রুটিগুলি পরিচালনা করার জন্য এই বিভাগটি পুরোপুরি ব্যবহার করার আগে এই বিভাগটি ব্যবহৃত হয়েছিল।
httpErferences: IIS 7 এবং পরবর্তীকালে এই বিভাগটি পাশাপাশি কাস্টম এরিআরস বিভাগটি তাদের ফাইল এক্সটেনশনের উপর ভিত্তি করে কাস্টম পোস্টের ত্রুটিগুলি পরিচালনা করতে অনুরোধ করা হয় যদি অনুরোধ করা হয় পৃষ্ঠার এক্সটেনশানটি ISAPI dll (.aspx, ashx, .asmx, .svc ইত্যাদি) এর সাথে সূচি.এএসপিএক্স এর সাথে অনুরোধ করে then আইআইএস গ্রাহকীয় ত্রুটি বিভাগ থেকে সেটিংস তুলতে পারে অন্যথায় এটি HTErferences থেকে সেটিং বাছাই করে (আইআইএস 7 হোস্ট করা মোডটি অবশ্যই ক্লাসিক নয়, ইন্টিগ্রেটেড মুড হিসাবে সেট করা উচিত)
নীচে 404 ত্রুটি পরিচালনা করার জন্য যাচাইয়ের লিঙ্কটির উদাহরণ রয়েছে: