রুট হ্যান্ডলারদের অনুরোধ ম্যাপ করতে রাউটিং ব্যবহার করা হয়।
যখন অ্যাপ্লিকেশন শুরু হয় তখন রুটগুলি কনফিগার করা হয় এবং URL থেকে মানগুলি বের করতে পারে যা অনুরোধ প্রক্রিয়াকরণের জন্য ব্যবহার করা হবে৷
রাউটিং বেসিক
রাউটিং রুট ব্যবহার করে (IRouter এর বাস্তবায়ন)
- রুট হ্যান্ডলারদের কাছে আগত অনুরোধ ম্যাপ করুন
- প্রতিক্রিয়ায় ব্যবহৃত URL তৈরি করুন
রাউটিং রাউটারমিডলওয়্যার ক্লাস দ্বারা মিডলওয়্যার পাইপলাইনের সাথে সংযুক্ত। ASP.NET MVC এর কনফিগারেশনের অংশ হিসাবে মিডলওয়্যার পাইপলাইনে রাউটিং যোগ করে
ইউআরএল মিলছে
আগত অনুরোধ রাউটারমিডলওয়্যারে প্রবেশ করে যা ক্রমানুসারে প্রতিটি রুটে RouteAsync পদ্ধতিকে কল করে।
IRouter দৃষ্টান্ত একটি নন-নাল RequestDelegate এ রুট কনটেক্সট হ্যান্ডলার সেট করে অনুরোধটি পরিচালনা করবে কিনা তা বেছে নেয়।
যদি একটি হ্যান্ডলার একটি রুট সেট করে থাকে, তাহলে অনুরোধটি প্রক্রিয়া করার জন্য এটিকে আহ্বান করা হবে এবং পরবর্তী কোনো রুট প্রক্রিয়া করা হবে না৷
যদি সমস্ত রুট কার্যকর করা হয়, এবং অনুরোধের জন্য কোনো হ্যান্ডলার পাওয়া না যায়, তাহলে মিডলওয়্যার কল নেক্সট এবং অনুরোধ পাইপলাইনে পরবর্তী মিডলওয়্যারটি আহ্বান করা হবে৷
ইউআরএল জেনারেশন
ইউআরএল জেনারেশন একই ধরনের পুনরাবৃত্তিমূলক প্রক্রিয়া অনুসরণ করে, কিন্তু রুট সংগ্রহের GetVirtualPath পদ্ধতিতে ব্যবহারকারী বা ফ্রেমওয়ার্ককোড কলিং দিয়ে শুরু হয়।
প্রতিটি রুটে তার GetVirtualPath পদ্ধতি থাকবে যতক্ষণ না অন-নাল VirtualPathData ফিরে আসে
রুট তৈরি করা হচ্ছে
রাউটিং IRouter-এর আদর্শ বাস্তবায়ন হিসাবে রুট ক্লাস প্রদান করে। RouteAsync কল করা হলে URL পাথের সাথে মেলে এমন প্যাটার্নগুলি সংজ্ঞায়িত করতে রুট টেমপ্লেট সিনট্যাক্স ব্যবহার করে।
GetVirtualPath কল করা হলে রুট একই রুট টেমপ্লেট ব্যবহার করবে একটি URL তৈরি করতে।
উদাহরণ
routes.MapRoute(name: "default", template: "{controller=Home}/{action=Index}/{id?}");
ফ্রেমওয়ার্ক রুট তৈরি করার জন্য এক্সটেনশন পদ্ধতির একটি সেট প্রদান করে যেমন −
MapRoute MapGet MapPost MapPut MapRoute MapVerb