কম্পিউটার টিউটোরিয়াল

C# ব্যবহার করে ASP.NET WebAPI এন্ডপয়েন্ট অন্যান্য অ্যাপ্লিকেশন থেকে কনসিউম করার পদ্ধতি

HttpClient ক্লাস HTTP রিকোয়েস্ট/রেসপন্স URL থেকে পাঠানো/গ্রহণের জন্য একটি বেস ক্লাস প্রদান করে। এটি .NET ফ্রেমওয়ার্কের একটি সাপোর্টেড অ্যাসিঙ্ক ফিচার। HttpClient একাধিক কনকারেন্ট রিকোয়েস্ট প্রসেস করতে পারে। এটি HttpWebRequest এবং HttpWebResponse-এর উপর একটি লেয়ার। HttpClient-এর সব মেথড অ্যাসিঙ্ক্রোনাস। HttpClient System.Net.Http নেমস্পেসে পাওয়া যায়।

আসুন একটি WebAPI অ্যাপ্লিকেশন তৈরি করি যাতে StudentController এবং সংশ্লিষ্ট অ্যাকশন মেথড থাকে।

Student মডেল

namespace DemoWebApplication.Models
{ 
    public class Student
    { 
        public int Id { get; set; } 
        public string Name { get; set; } 
    } 
}

Student কন্ট্রোলার

using DemoWebApplication.Models; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web.Http; 

namespace DemoWebApplication.Controllers
{ 
    public class StudentController : ApiController
    { 
        List students = new List
        { 
            new Student{ Id = 1, Name = "Mark" }, 
            new Student{ Id = 2, Name = "John" } 
        }; 
        
        public IEnumerable Get()
        { 
            return students; 
        } 
        
        public Student Get(int id)
        { 
            var studentForId = students.FirstOrDefault(x => x.Id == id); 
            return studentForId; 
        } 
    } 
}

এখন, একটি কনসোল অ্যাপ্লিকেশন তৈরি করি যেখানে উপরে তৈরি WebAPI এন্ডপয়েন্টগুলো কনসিউম করে স্টুডেন্ট ডিটেইলস পেতে চাই।

উদাহরণ

using System; 
using System.Net.Http; 

namespace DemoApplication
{ 
    public class Program
    { 
        static void Main(string[] args)
        { 
            using (var httpClient = new HttpClient())
            { 
                Console.WriteLine("Calling WebApi for get all students"); 
                var students = GetResponse("student"); 
                Console.WriteLine($"All Students: {students}"); 
                Console.WriteLine("Calling WebApi for student id 2"); 
                var studentForId = GetResponse("student/2"); 
                Console.WriteLine($"Student for Id 2: {students}"); 
                Console.ReadLine(); 
            } 
        } 
        
        private static string GetResponse(string url)
        { 
            using (var httpClient = new HttpClient())
            { 
                httpClient.BaseAddress = new Uri("https://localhost:58174/api/"); 
                var responseTask = httpClient.GetAsync(url); 
                var result = responseTask.Result; 
                var readTask = result.Content.ReadAsStringAsync(); 
                return readTask.Result; 
            } 
        } 
    } 
}

আউটপুট

Calling WebApi for get all students
All Students: [{"Id":1,"Name":"Mark"},{"Id":2,"Name":"John"}]
Calling WebApi for student id 2
Student for Id 2: {"Id":2,"Name":"John"}

উপরের উদাহরণে আমরা দেখতে পাচ্ছি যে একটি পৃথক কনসোল অ্যাপ্লিকেশন থেকে WebAPI এর এন্ডপয়েন্ট কল করা হয়েছে।

  1. C# ASP.NET WebAPI-তে URI দিয়ে Web API ভার্সনিং কীভাবে করবেন?

  2. C# ASP.NET WebAPI-তে একশন মেথডের জন্য আলিয়াস নাম কীভাবে দিবেন?

  3. C# ASP.NET WebAPI-তে CORS সমস্যা সমাধান কীভাবে করবেন?

  4. C# ASP.NET WebAPI-তে একশন মেথড থেকে কাস্টম রেজাল্ট টাইপ রিটার্ন কীভাবে করবেন?