وب سرویس بصورت خیلی ساده : متدهایی مستقل که روی یک وب سرور قرار میگیرن در نتیجه این متدها قابلیت فراخوانی از طریق اینترنت رو دارن مثل COM که یه کد هست که تو یه کامپیوتر توسط
برنامه های مختلف بصورت مشترک استفاده میشه و DCOM که همون COM هست که رو شبکه قابل استفادس
وب سرویس رو مثل کامی در نظر بگیرید که رو اینترنت قابل دسترسی هست
مثلا یه متد معمولا مینویسیم که تاریخ شمسی رو برمیگردونه حالا اگه این متد رو با وب سرویس پیاده کنیم و رو یه سرور آپ کنیم همه میتونن با وصل شدن به این وب سرویس این متد رو استفاده کنن
(البته این زیاد کاربردی نیس)
نمونه واقعی (وب سرویس ارسال و دریافت SMS)
ایجاد وب سرویس :
تو VS نوع پروژه : Asp.net Web Service Application
متدهایی که میخواهید وب سرویس ارائه بده باید بالای متد بنویسید
[WebMethod]
و طبیعتا سطح دسترسیش باید Public باشه
مثل
[WebMethod]
public void ConnectToService()
{
Application["ClientIP"] = HttpContext.Current.Request.UserHostAddress;
}
بعد وب سرویس رو Publish میکنید رو وب سرور
البته اگه جهت تست اجرا کنید خود VS یه وب سرور مجازی داره که بهتون اجازه تست وب سرویس رو میده
و حتی میتونید وب سرویس رو روی IIS لوکال سیستمتون هم پابلیش و استفاده کنید
حالا میمونه برنامه WinAPP ما که به این وب سرویس وصل بشه
Referense - Add Web Reference
بعدش آدرس وب سرویس رو میدید و خود VS کارای لازمه رو انجام میده و یه کلاس از نوع وب سرویس براتون میسازه و شما مثل یه کلاس عادی میتونید ازش استفاده کنید.
برای کار شما بصورت ساده
یه متد void مینویسی که کارش اینه که وقتی متد فراخوانی شد با استفاده از دستور زیر IP فراخواننده رو بگیره
HttpContext.Current.Request.UserHostAddress;
و مثلا تو یه فایل XML یا فایل تکست یا حافظه Application نیگه داره و یه متد دیگه مینویسی که از نوع String هست و با فراخوانیش IP ذخیره شده رو برمیگردونه
نمونه برنامشو براتون نوشتم فقط دقت کنید این بیس قضیه هست باید رو مباحث امنیتی و مدیریتش خودتون کار کنید.
موفق باشید.