কাস্টমআরিয়ার্স এবং httpErferences মধ্যে পার্থক্য কি?


168

এএসপি.নেট এমভিসি অ্যাপ্লিকেশনগুলিতে ওয়েবকনফিগ ফাইলের customErrorsএবং httpErrorsবিভাগগুলির মধ্যে পার্থক্য কী ?

প্রতিটি বিভাগ ব্যবহার করার জন্য গাইডলাইন কি?


1
আইএমএইচও - এইচটিপিআররর একটি আইআইএস স্তর হ'ল ত্রুটি বার্তাগুলি পরিচালনা করছে যখন কাস্টমআরার এএসপি। ওয়েব অ্যাপ্লিকেশনটিতে ত্রুটির জন্য নেট পরিচালনা করছে। তবে আরও জানতে চাই ...
সানি

উত্তর:


85

দাবি অস্বীকার: এটি আমার অভিজ্ঞতা থেকে প্রমাণিত সত্য নয়।

উভয়ই কোনও ওয়েবসাইটের জন্য ত্রুটি পরিচালনার সংজ্ঞা দিতে ব্যবহৃত হয়, তবে বিভিন্ন সফ্টওয়্যার বিভিন্ন কনফিগার উপাদানগুলিকে বোঝায়।

customErrors ভিজ্যুয়াল স্টুডিও ডেভলপমেন্ট সার্ভার (ওরফে ভিএসডিএস বা ক্যাসিনি) দ্বারা ব্যবহৃত একটি উত্তরাধিকার (পিছনের দিকে তুলনীয়) উপাদান।

httpErrors নতুন উপাদান যা কেবল আইআইএস 7 দ্বারা ব্যবহৃত হয়।

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

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

সারসংক্ষেপ:

  • VSDSব্যবহারে বিকাশ করছেcustomErrors
  • IIS6ব্যবহারের জন্য সাইট প্রকাশ করাcustomErrors
  • IIS7ব্যবহারের জন্য সাইট প্রকাশ করা httpErrors

এবং যদি আপনি এর সাথে বিকাশ করেন VSDSতবে প্রকাশিত হন IIS7তবে আমার ধারণা আপনার উভয়ের প্রয়োজন হবে।


30
কাস্টমঅরফারেশনগুলি এসপ নেটওয়ারের জন্য। httpErferences আইআইএস for এর জন্য, এবং সুতরাং এমন সামগ্রীগুলি হ্যান্ডেল করুন যা। নেট হ্যান্ডলারের মধ্য দিয়ে যায় না (যেমন .png, .js ইত্যাদি) আপনি যদি নন-ওয়েব সামগ্রীর ধরণের জন্য ত্রুটি পৃষ্ঠাগুলি চান তবে আইআইএস ত্রুটি পৃষ্ঠা ব্যবহার করুন (আইআইএস 7 এর জন্য httpErferences , আইআইএস 6 এর জন্য ইউআই))
zcrar70

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

@ জোহনবি দ্বারা কাস্টমআরার্স ব্যবহার করার দরকার নেই। এবং খুব প্রয়োজনীয়? ১) "এএসপি" বিভাগের অধীনে "ব্রাউজারে ত্রুটিগুলি প্রেরণ করুন" সক্ষম করুন। "ত্রুটি পৃষ্ঠাগুলি / সম্পাদনা বৈশিষ্ট্য সেটিংস" এর অধীনে ডিবাগিং বৈশিষ্ট্য ২) , "বিশদ ত্রুটি" নির্বাচন করুন। 3) নিষ্ক্রিয় ইন্টারনেট মধ্যে "বন্ধুত্বপূর্ণ HTTP ত্রুটি বার্তা প্রদর্শন করুন" জাতীয় stackoverflow.com/questions/2640526/...
Kiquenet

136

* এপ্রিল 2016 আপডেট হয়েছে

যখন। নেট কোডটি একটি ব্যতিক্রম (404, 403, 500 ইত্যাদি) ছুড়ে থাকে তখন আইআইএস নিজেই ব্যতিক্রম ছুঁড়ে দিলে httpErferences বৈশিষ্ট্যটি ব্যবহৃত হয়।

  • / মাইফেকেক্সটেনশনহীনসুরল -> httpErferences 404
  • /myfakeaspsx.aspx -> কাস্টম এরিজ 404
  • /myfakeimage.jpg -> httpErferences 404
  • /throw500.apx -> কাস্টমআরিয়ারস 500
  • / নিক্ষেপ 500 -> কাস্টমএরিয়ারস 500

এটি সঠিকভাবে কনফিগার করার চেষ্টা করছে অনেকগুলি সমস্যা 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 ত্রুটিগুলি পরিচালনা করতে দেওয়া। কোনও বন্ধু এমন সেটআপ তৈরি করেছে, যখন আমি কিছু সময় পাই, আমি কোডটি ভাগ করব।

পটভূমি

একটি ভাল কাস্টম ত্রুটি পৃষ্ঠা করবে:

  1. আপনি স্থানীয়ভাবে সমস্যা পৃষ্ঠাটি দেখার সময় আসল ব্যতিক্রম দেখান
  2. আপনি সমস্যা পৃষ্ঠাটি দূর থেকে দেখার সময় একটি কাস্টম পৃষ্ঠা প্রদর্শন করুন
  3. পুনঃনির্দেশ করা হবে না, তবে কেবল ত্রুটি পৃষ্ঠার সামগ্রী প্রদর্শন করবে (SEO কারণে)
  4. সঠিক স্থিতি কোড প্রদর্শন করবে

সুতরাং আমাদের কনফিগারেশনে কিছু বিকল্প ব্যাখ্যা করতে:

  1. <customErrors mode="RemoteOnly"। আপনি এখানে উল্লেখ করতে পারেন: On, Off, RemoteOnly

    • On = সর্বদা কাস্টম ত্রুটি পৃষ্ঠা প্রদর্শন করুন
    • Off = সর্বদা আসল ত্রুটি প্রদর্শন করুন
    • RemoteOnly= স্থানীয়ভাবে ত্রুটিটি দেখান, তবে কাস্টম ত্রুটি পৃষ্ঠাটি দূর থেকে দেখান। সুতরাং আমরা RemoteOnlyবিবৃতি 1 চাই
  2. <customErrors redirectMode="ResponseRewrite"। আপনি এখানে নির্দিষ্ট করতে পারেন: ResponseRedirectবা ResponseRewriteResponseRedirectমোড কাস্টম ত্রুটি পৃষ্ঠায় ত্রুটি পৃষ্ঠা পুনর্চালনা করবে। একটি লিঙ্ক ক্রলার (এসইও) এর জন্য, এর ফলস্বরূপ 302 -> 500 হবে তবে আপনি লিঙ্ক ক্রলারটি 500 ত্রুটি পেতে চান।

  3. <httpErrors errorMode="DetailedLocalOnly"। এটি customErrorsমোডের সমতুল্য । বিকল্প ব্যবহার করতে পারেন আপনার: Custom, Detailed, DetailedLocalOnly

একটি ভাল ব্লগ পোস্ট যা আমাকে অনেক সাহায্য করেছিল: http://benfoster.io/blog/aspnet-mvc-custom-error-pages


কী ধরণের সম্পর্কের কাস্টমআররেসগুলি - এএসপিতে "ব্রাউজারে ত্রুটিগুলি প্রেরণ করুন" - যেমন ডিবিগিংয়ের বৈশিষ্ট্য এবং "ত্রুটি পৃষ্ঠাগুলি / বৈশিষ্ট্য সেটিংস সম্পাদনা করুন", "বিশদ ত্রুটিগুলি" - যেমন HTTP এবং IIS কনফিগারেশন ? stackoverflow.com/questions/2640526/...
Kiquenet

36

<customErrors> বনাম <httpErrors>


<customErrors>

  • এখনও আইআইএস 7 + এ উপলব্ধ
  • ASP.NET দ্বারা পরিচালিত অনুরোধগুলির জন্য কাস্টম ত্রুটি পৃষ্ঠাগুলি নির্দিষ্ট করুন
  • কেবল এএসপি.এনইটি অ্যাপ্লিকেশনটির মধ্যে অনুরোধগুলি পরিচালনা করে
  • স্থির ফাইল যেমন এইচটিএমএল ফাইল বা ডিরেক্টরি ("বন্ধুত্বপূর্ণ") URL গুলি হ্যান্ডেল করা হয় না

<httpErrors>

  • আইআইএস 7-তে প্রবর্তিত
  • আইআইএস দ্বারা পরিচালিত অনুরোধগুলির জন্য কাস্টম ত্রুটি পৃষ্ঠাগুলি নির্দিষ্ট করুন
  • ASP.NET অ্যাপ্লিকেশন এর মধ্যে অনুরোধগুলি পরিচালনা করে এবং / অথবা এর বাইরে অনুরোধগুলি পরিচালনা করে - ASP.NET অ্যাপ্লিকেশন *
  • সমস্ত ফাইল এবং ইউআরএল পরিচালনা করা হয় *

দ্রষ্টব্য: এটি আর ব্যবহারের প্রয়োজন নেই 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 লিঙ্কটি পড়ুন


হয়তো দরকারী ** stackoverflow.com/questions/2640526/... ** মেশা যদি httpErrors সঙ্গে "ব্রাউজার পাঠান ত্রুটিগুলি" এবং ত্রুটি পৃষ্ঠাগুলি
Kiquenet

3
নোট it's no loger necesary to use customErrorsএবং উদ্ধৃতিটির জন্য +1 , এটি আমার পরে তথ্য ছিল :-)
মিস্টার

4

ওয়েব কনফিগারেশনে ত্রুটিগুলি বিভাগটি কাস্টম HTTP ত্রুটি পরিচালনার পদ্ধতির সরবরাহের জন্য রয়েছে দুটি বিভাগ রয়েছে, একটি বিভাগের অভ্যন্তরে একটি কাস্টমঅর্থ রয়েছে b ওয়েবটি এবং বিভাগের ভিতরে আরেকটি httpErferences.WbServer (নীচে দেওয়া হয়েছে)

কাস্টমআরয়েরস: আইআইএস 7 প্রবর্তনের আগে, আইআইএস 6 5 এর আগে এবং এইচটিসি স্থিতি কোড অনুসারে কাস্টম HTTP ত্রুটিগুলি পরিচালনা করার জন্য এই বিভাগটি পুরোপুরি ব্যবহার করার আগে এই বিভাগটি ব্যবহৃত হয়েছিল।

httpErferences: IIS 7 এবং পরবর্তীকালে এই বিভাগটি পাশাপাশি কাস্টম এরিআরস বিভাগটি তাদের ফাইল এক্সটেনশনের উপর ভিত্তি করে কাস্টম পোস্টের ত্রুটিগুলি পরিচালনা করতে অনুরোধ করা হয় যদি অনুরোধ করা হয় পৃষ্ঠার এক্সটেনশানটি ISAPI dll (.aspx, ashx, .asmx, .svc ইত্যাদি) এর সাথে সূচি.এএসপিএক্স এর সাথে অনুরোধ করে then আইআইএস গ্রাহকীয় ত্রুটি বিভাগ থেকে সেটিংস তুলতে পারে অন্যথায় এটি HTErferences থেকে সেটিং বাছাই করে (আইআইএস 7 হোস্ট করা মোডটি অবশ্যই ক্লাসিক নয়, ইন্টিগ্রেটেড মুড হিসাবে সেট করা উচিত)

নীচে 404 ত্রুটি পরিচালনা করার জন্য যাচাইয়ের লিঙ্কটির উদাহরণ রয়েছে:

ওয়েবকনফিগ, আইআইএস, এপ.নেট.এল এ গ্রাহকত্বের তুলনায় httpsferences

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