Microsoft Technologies WCF এবং REST API ব্যবহার করে Data Binding গাইড ও নোট

221

WCF (Windows Communication Foundation) এবং REST API (Representational State Transfer API) দুটি জনপ্রিয় প্রযুক্তি যা Data Binding এর মাধ্যমে UI-তে ডেটা প্রদর্শন এবং ম্যানিপুলেট করতে ব্যবহৃত হয়। WPF বা UWP অ্যাপ্লিকেশনগুলিতে ডেটা অ্যাক্সেস এবং প্রদর্শন করার জন্য WCF বা REST API-এর মাধ্যমে ডেটা ফেচ করা যায় এবং সেগুলো UI-তে স্বয়ংক্রিয়ভাবে আপডেট করা যায়। এখানে আমরা WCF এবং REST API ব্যবহার করে কিভাবে Data Binding করবেন তা দেখবো।


WCF (Windows Communication Foundation) এর মাধ্যমে Data Binding

WCF হল একটি শক্তিশালী সার্ভিস-অরিয়েন্টেড আর্কিটেকচার (SOA) যা একাধিক প্রটোকল ব্যবহার করে কমিউনিকেশন চালায়। WCF ব্যবহার করে ওয়েব সার্ভিস তৈরি করা হয় এবং সেগুলোর সাথে ডেটা ব্যান্ড করা যায়।

১. WCF Service তৈরি করা

প্রথমে একটি WCF সার্ভিস তৈরি করতে হবে। এই সার্ভিসটি ক্লায়েন্ট অ্যাপ্লিকেশন থেকে ডেটা ফেচ করতে সক্ষম হবে।

WCF Service (ExampleService.svc)
using System.ServiceModel;

[ServiceContract]
public interface IExampleService
{
    [OperationContract]
    string GetData(int value);
}
WCF Service Implementation (ExampleService.svc.cs)
public class ExampleService : IExampleService
{
    public string GetData(int value)
    {
        return "You entered: " + value;
    }
}

এখানে একটি সিম্পল WCF সার্ভিস তৈরি করা হয়েছে যা একটি প্যারামিটার গ্রহণ করে এবং একটি স্ট্রিং রিটার্ন করে।

২. WPF Client Application তৈরি করা

WPF অ্যাপ্লিকেশন থেকে WCF সার্ভিসের সাথে ডেটা ব্যান্ড করতে ServiceReference ব্যবহার করা হয়। এটি স্বয়ংক্রিয়ভাবে WCF সার্ভিসের সাথে ইন্টিগ্রেশন তৈরি করবে।

  1. প্রথমে, WCF Service এর URL এ Service Reference যোগ করুন।
  2. তারপর, Data Binding ব্যবহার করে UI-তে ডেটা দেখানোর জন্য প্রয়োজনীয় কোড লিখুন।
XAML (MainWindow.xaml)
<Window x:Class="WCFClient.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="WCF Client" Height="200" Width="300">
    <Grid>
        <TextBox Name="inputTextBox" Width="200" Height="30" Margin="10"/>
        <Button Content="Get Data" Width="200" Height="30" VerticalAlignment="Top" Margin="10,40,10,10" Click="GetDataButton_Click"/>
        <TextBlock Name="resultTextBlock" Width="200" Height="30" VerticalAlignment="Top" Margin="10,80,10,10"/>
    </Grid>
</Window>
C# (MainWindow.xaml.cs)
using System.Windows;
using WCFClient.ExampleServiceReference;

namespace WCFClient
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void GetDataButton_Click(object sender, RoutedEventArgs e)
        {
            var service = new ExampleServiceClient();
            string result = service.GetData(int.Parse(inputTextBox.Text));
            resultTextBlock.Text = result;
        }
    }
}

এখানে:

  • WCF Client অ্যাপ্লিকেশন ExampleServiceClient ক্লাস ব্যবহার করছে, যা সার্ভিসে কল করে ডেটা নিয়ে আসবে এবং তা TextBlock এ ডিসপ্লে করবে।

REST API এর মাধ্যমে Data Binding

REST API একটি স্টেটলেস আর্কিটেকচার যা HTTP প্রটোকল ব্যবহার করে বিভিন্ন ধরনের ডেটা প্রসেস করতে সক্ষম। WPF বা UWP অ্যাপ্লিকেশন থেকে REST API কল করা হয় এবং ডেটা ফেরত পাওয়ার পর UI-তে ব্যান্ড করা হয়।

১. REST API Endpoint তৈরি করা

এখানে একটি সিম্পল REST API তৈরি করা হচ্ছে যা একটি GET রিকোয়েস্ট গ্রহণ করে এবং একটি স্ট্রিং রিটার্ন করে।

REST API (ASP.NET Core Controller)
[ApiController]
[Route("api/[controller]")]
public class ExampleController : ControllerBase
{
    [HttpGet("GetData/{value}")]
    public string GetData(int value)
    {
        return "You entered: " + value;
    }
}

এখানে একটি GET API তৈরি করা হয়েছে যা GetData মেথডের মাধ্যমে ডেটা রিটার্ন করবে।

২. WPF Client Application থেকে REST API কল করা

WPF অ্যাপ্লিকেশন থেকে REST API কল করার জন্য HttpClient ব্যবহার করা হয়।

XAML (MainWindow.xaml)
<Window x:Class="RestClient.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="REST API Client" Height="200" Width="300">
    <Grid>
        <TextBox Name="inputTextBox" Width="200" Height="30" Margin="10"/>
        <Button Content="Get Data" Width="200" Height="30" VerticalAlignment="Top" Margin="10,40,10,10" Click="GetDataButton_Click"/>
        <TextBlock Name="resultTextBlock" Width="200" Height="30" VerticalAlignment="Top" Margin="10,80,10,10"/>
    </Grid>
</Window>
C# (MainWindow.xaml.cs)
using System.Net.Http;
using System.Threading.Tasks;
using System.Windows;

namespace RestClient
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private async void GetDataButton_Click(object sender, RoutedEventArgs e)
        {
            var client = new HttpClient();
            string url = $"https://localhost:5001/api/example/GetData/{inputTextBox.Text}";
            string result = await client.GetStringAsync(url);
            resultTextBlock.Text = result;
        }
    }
}

এখানে:

  • HttpClient ব্যবহার করে REST API কল করা হচ্ছে।
  • GetDataButton_Click ইভেন্টে API থেকে ডেটা ফেচ করে তা TextBlock এ প্রদর্শন করা হচ্ছে।

Data Binding Summary

  • WCF: WCF ব্যবহার করলে সার্ভিস থেকে ডেটা পাওয়ার জন্য ServiceClient ব্যবহার করা হয় এবং ডেটা পাওয়ার পর তা UI তে দেখানো হয়।
  • REST API: REST API-তে HttpClient ব্যবহার করে GET রিকোয়েস্ট করা হয় এবং রেসপন্স পাওয়ার পর তা UI তে প্রদর্শন করা হয়।

এই দুই পদ্ধতিতেই Data Binding ব্যবহৃত হয়, তবে WCF অধিকভাবে SOAP ভিত্তিক ওয়েব সার্ভিসে ব্যবহৃত হয়, যেখানে REST API HTTP প্রোটোকল ব্যবহার করে সহজ এবং লাইটওয়েট কমিউনিকেশন প্রদান করে।

Content added By
Promotion

Are you sure to start over?

Loading...