11- حالا برین تو صفحه سی شارپ این پیج (در اینجا MainPage.xaml.cs)
اول اضافه کردن نیم اسپیس سرویس:
using BarnameNevis.BarnameNevisServiceReference;
قبل از کلاس اصلی پیج (در اینجا MainPage) یه نمونه خصوصی (Instance) از کلاس کلاینت سرویس بسازین.
private BarnamenevisServiceClient client = new BarnamenevisServiceClient();
در داخل نمونه کلاینت سرویستون، یه هندلر داریم، ساخته شده از همون تابعی که تو سرویس نوشتیم: هندلر رویداد پایان یافتن تابع، compeleted
و متد مورد نظرمون هم قابل انجام به صورت ناهمزمان (async) که خیلی خوبه!
در داخل تابع صفحه، بعد از تابع فراخوانی و آماده سازی اولیه(InitializeComponent)،
یک رویداد از هندلر از تابع مورد نظرتون بسازین:
client.GetProgrammersCountCompleted += new EventHandler<GetProgrammersCountCompletedEventArgs >(client_GetProgrammersCountCompleted);
که اگه با Tab از کد اسنیپت استفاده کنین، خودش تابع اتمامش رو هم میسازه:
void client_GetProgrammersCountCompleted(object sender, GetProgrammersCountCompletedEventArgs e)
{
throw new NotImplementedException();
}
تو شکم این تابع کاری که مدنظرتونه رو بنویسین (دراینجا من میخوام تعداد مورد نظر نشون بدم):
uxCountLabel.Content = e.Result.ToString();
حالا باید تابع رو یه جایی اجرا کنیم. یه دکمه () بندازین و اسمش رو هم ست کنین و روش دابل کلیک کنین و تو رویداد کلیکش تابع اجرایی رو فراخوانی کنین. تصویر شماره (1)
private void uxLoadButton_Click(object sender, RoutedEventArgs e)
{
client.GetProgrammersCountAsync();
}
یه تصویر از کدهای نوشته شده - تصویر شماره (2)
12 - مصدوم آماده است. لطفا F5 مرحمت فرمایید.