Custom Error পৃষ্ঠা ব্যবহারকারীদেরকে অ্যাপ্লিকেশনের ত্রুটির কারণে তারা যেখানে পৌঁছাতে পারেন, সেখানে একটি ব্যবহারকারী-বান্ধব এবং কাস্টমাইজড পৃষ্ঠা দেখানোর জন্য ব্যবহৃত হয়। ASP.Net Core অ্যাপে, আপনি Custom Error পৃষ্ঠা তৈরি করতে পারেন যা ব্যবহারকারীদেরকে একটি সঠিক ত্রুটি বার্তা প্রদর্শন করবে এবং অ্যাপ্লিকেশনটি বন্ধ না করে তাদেরকে আরও সহায়তা করবে।
ASP.Net Core অ্যাপে Custom Error পৃষ্ঠা তৈরি করার জন্য কয়েকটি ধাপ অনুসরণ করতে হবে।
Startup.cs ফাইলে Configure
মেথডে UseExceptionHandler
এবং UseStatusCodePagesWithReExecute
মেথডগুলো ব্যবহার করে কাস্টম ত্রুটি পৃষ্ঠা কনফিগার করতে হবে।
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage(); // ডেভেলপমেন্টে ত্রুটির ডিটেইল দেখাবে
}
else
{
// প্রোডাকশনে কাস্টম ত্রুটি পৃষ্ঠা
app.UseExceptionHandler("/Home/Error"); // সব ত্রুটি হ্যান্ডেল করবে
app.UseHsts(); // HTTP Strict Transport Security (HSTS)
}
// 404 ত্রুটির জন্য কাস্টম পৃষ্ঠা
app.UseStatusCodePagesWithReExecute("/Home/StatusCode", "?code={0}");
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
এখানে:
UseExceptionHandler("/Home/Error")
: এটি সমস্ত এক্সেপশন হ্যান্ডেল করবে এবং ইউজারকে /Home/Error
রাউটে রিডাইরেক্ট করবে।UseStatusCodePagesWithReExecute("/Home/StatusCode", "?code={0}")
: এই কোডটি HTTP স্ট্যাটাস কোড অনুযায়ী কাস্টম পৃষ্ঠা রেন্ডার করতে ব্যবহার করা হয় (যেমন, 404 বা 500 ত্রুটি)।এখন, আপনাকে HomeController বা যেকোনো অন্য কন্ট্রোলারে ত্রুটি হ্যান্ডলিং এর জন্য একটি অ্যাকশন মেথড তৈরি করতে হবে।
public class HomeController : Controller
{
// Error পৃষ্ঠা
public IActionResult Error()
{
return View();
}
// Status Code (404 বা 500) এর জন্য কাস্টম পৃষ্ঠা
public IActionResult StatusCode(int code)
{
if (code == 404)
{
ViewData["ErrorMessage"] = "The page you are looking for might have been moved or deleted.";
}
else if (code == 500)
{
ViewData["ErrorMessage"] = "Oops! Something went wrong on our server. Please try again later.";
}
return View();
}
}
এখানে:
Error()
অ্যাকশনটি সকল এক্সেপশন হ্যান্ডলিংয়ের জন্য ব্যবহৃত হবে।StatusCode(int code)
অ্যাকশনটি কাস্টম স্ট্যাটাস কোড (যেমন 404, 500) এর জন্য ব্যবহার করা হয়।এখন, আপনাকে Views/Home/Error.cshtml এবং Views/Home/StatusCode.cshtml ফাইল তৈরি করতে হবে, যেখানে আপনি কাস্টম ত্রুটি বার্তা এবং পৃষ্ঠা উপস্থাপন করবেন।
<!-- Views/Home/Error.cshtml -->
@{
ViewData["Title"] = "Error";
}
<h1>Error Occurred</h1>
<p>Sorry, an unexpected error occurred. Please try again later.</p>
<!-- Views/Home/StatusCode.cshtml -->
@{
ViewData["Title"] = "Error";
}
<h1>@ViewData["ErrorMessage"]</h1>
<p>The page you were looking for might have been moved or deleted.</p>
UseStatusCodePagesWithReExecute
এর মাধ্যমে আপনি 404 এবং 500 এর মতো ত্রুটি কোডের জন্য কাস্টম পৃষ্ঠা তৈরি করতে পারেন।
আপনি যদি 404 ত্রুটি কোডের জন্য কাস্টম পৃষ্ঠা তৈরি করতে চান, তাহলে StatusCode.cshtml
ফাইলের মধ্যে 404 এর জন্য একটি বিশেষ বার্তা রাখতে পারেন।
500 ত্রুটি (Server Error) কোডের জন্যও আপনি বিশেষভাবে কাস্টম বার্তা বা তথ্য প্রদর্শন করতে পারেন, যাতে ব্যবহারকারী বুঝতে পারে যে এটি একটি সার্ভার সমস্যা।
ASP.Net Core-এ Custom Error পৃষ্ঠা তৈরি করা খুবই সহজ এবং এটি আপনার অ্যাপ্লিকেশনকে ব্যবহারকারী-বান্ধব করে তোলে। Startup.cs ফাইলে middleware কনফিগার করে এবং Controller ও Views তে ত্রুটি বার্তা সাজিয়ে, আপনি কাস্টম 404, 500 ত্রুটি এবং অন্যান্য ত্রুটি পৃষ্ঠা তৈরি করতে পারবেন। এর মাধ্যমে ব্যবহারকারীদের ভালো অভিজ্ঞতা প্রদান করা সম্ভব।
Read more