কম্পিউটার

কিভাবে C# ব্যবহার করে অন্যান্য অ্যাপ্লিকেশন থেকে Asp.Net WebAPI এন্ডপয়েন্ট ব্যবহার করবেন?


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

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

স্টুডেন্ট মডেল

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

ছাত্র নিয়ন্ত্রক

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

কিভাবে C# ব্যবহার করে অন্যান্য অ্যাপ্লিকেশন থেকে Asp.Net WebAPI এন্ডপয়েন্ট ব্যবহার করবেন?

কিভাবে C# ব্যবহার করে অন্যান্য অ্যাপ্লিকেশন থেকে Asp.Net WebAPI এন্ডপয়েন্ট ব্যবহার করবেন?

এখন, আসুন একটি কনসোল অ্যাপ্লিকেশন তৈরি করি যেখানে আমরা শিক্ষার্থীদের বিশদ বিবরণ পেতে উপরের তৈরি 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-এর সাথে ওয়েব API সংস্করণ করবেন?

  2. কিভাবে আমরা C# ASP.NET WebAPI তে অ্যাকশন পদ্ধতির জন্য উপনামের নাম নির্ধারণ করতে পারি?

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

  4. C# ASP.NET WebAPI-তে একটি অ্যাকশন পদ্ধতি থেকে কাস্টম ফলাফলের ধরন কীভাবে ফেরত দেওয়া যায়?