سلام
ایجاد وب سرویس آموزش خاصی نداره ولی در رابطه با نمونه پروژه ایی که گذاشتم یه توضیح مختصری میدمکه امیدوارم لذت ببرید و مشکلت را حل کرده باشم
خب برای اینکه دیتا بیس آنلاین داشته باشی و بخواهی از اطلاعات آن بروی هر پلتفرمی (مثل نمایش عکس یا نام و نام خانوادگی یا حتی عملیات لاگین کاربران در پروژه ی موبایلی )عملیات انجام بدهی باید کنار بانک اطلاعاتی که روی هاست قرار گرفته یک صفحه وب چه با asp.net چه با php (فرقی نداره)داشته باشی؛که این میشه یک پل بین بانک اطلاعاتیت و اون پروژه ات.
ایجاد وب سرویس با asp.net
خب برای ایجاد وب سرویس مانند وب فرم است ولی با این تفاوت که هر عملیاتی را باید بصورت متد بنویسی تا بتونی مثلا در یک پروژه ی ویندوزی اطلاعات را بصورت متد دریافت یا ارسال کنی خب برای اینکار ابتدا یک پروژه وب asp.net ایجاد می کنید و سپس بروی پروژه راست کلیک میکنیدو add-newitem
از گزینه های موجود گزینه WebService را انتخاب کنید.
خب در این قسمت که وارد محیط WebServiceشدید برای هر عملیاتی که میخاهید انجام بدید یک متد بصورت public ایجاد کنید...
اما.....قبلا بهتون گفتم که باید اطلاعات را بصورت متد در بیارید برای این کار قبل از ایجاد متد اینو مینویسید [WebMethod] بقیه اش را به عهده ماکروسافت می سپارید
خب توی متدت برنامه نویسیتو انجام بده
در مثالی که میزنم یک متد برای عملیات ورود کاربران است که اطلاعاتش درون بانک اطلاعاتی است که بروی هاست قرار داده ایم.....
به کد زیر توجه کنید
public string LoginFunction(string Username, string Password)
{
try
{
connection.Open();
string count = "select count(*) from registrationTable where userName = '" + Username + "'";
SqlCommand cmd = new SqlCommand(count, connection);
int i = int.Parse(cmd.ExecuteScalar().ToString());
if (i == 1)
{
string search_pass = "select password from registrationTable where username = '" + Username + "'";
SqlCommand cmd1 = new SqlCommand(search_pass, connection);
string password = cmd1.ExecuteScalar().ToString().Replace(" ", "");
if (password == Password)
{
return "خوش آمدید";
}
else
{
return "کلمه عبورنادرست است";
}
}
else
{
return "نام کاربری با این نام وجود ندارد";
}
}
catch (Exception exp)
{
return exp.ToString();
}
finally
{
connection.Close();
}
}
خب اگر توجه کرده باشی میبینی کد نویسی که برای یک فرم ساده لاگین است را نوشتم ولی با این تفاوت که متدمون دارای دوتا آرگومان ورودی است و برای نمایش نتیجه کارمون از کلمه کلیدی
return استفاده کردم
خب این از قسمت وب سرویسمون که تموم شد ؛بقیه قسمت هاشم(متدهای نمونه پروژه ایی که گذاشتم) شبیه همین مثال است...
بریم سراغ پروژه ویندوزفرم
خب در این پروژه کار خیلی شاخی نمیخاییم انجام بدیم، اطلاعات کاربرانی که برای ورود به برنامه، درون بانک اطلاعاتی که در هاستمون است را میخاییم از طریق وب سرویس واکشی کنیم.....
برای مثال یک ویندوز فرم ایجاد می کنید و بروی refrences راست کلیک کنید.گزینهadd service refrence... را انتخاب کنید..بعدش هم بریم همون صفحه وب سرویسی(پسوند وب سرویس هاasmx) که ایجاد کردید را انتخاب کنید
خب یک نمونه از وب سرویس اضافه شده درست می کنید
myservicetest.myserviceSoapClient s = new myservicetest.myserviceSoapClient();
خب در این متد دوتا ورودی(نام کاربری و رمز عبور) که قبلا در وب سرویس مشخص کردیم، میگیرد؛ وچون خروجی ما استرینگ است پس آن را درون یک متغییر استرینگ قرار میدیم....
string test = s.LoginFunction(textBox1.Text, textBox2.Text);
خب یادتون هست که گفتم برای نمایش خروجی مون از کلمه return استفاده میکنیم میتونیم روی همین خروجیمون شرط بزاریم مثلا
if (test == "خوش آمدید")
MessageBox.Show("خوش آمدید");
خب حالا قبل از اینکه نام کاربری و رمز عبور در پروژه ویندوزی را وارد کنید
حتما و باید باید پروژه وبمون یا همون وب سرویسمون را اجرا کنیم......
امیدوارم چیزی را از قلم ننداخته باشم و اینکه یادگرفته باشید؛هرکجا هم مشکلی داشتید آی دی تلگرام@mr_30 در خدمتم....
موفق باشید