دوره‌ای که می‌تونه مسیر شغلیت رو عوض کنه! دوره‌ای که می‌تونه مسیر شغلیت رو عوض کنه!
🎯 ثبت نام
بستن تبلیغات
تسلط کامل بر سی‌شارپ با یک دوره پروژه‌محور

یادگیری سی شارپ از مفاهیم پایه تا پروژه محور: شی‌گرایی، کار با SQL و LINQ، ORMها (Entity Framework)، ساخت پروژه مدیریت رستوران با گزارشات حرفه‌ای و امکانات کامل!

مشاهده بیشتر
تسلط جامع بر MVC Core برای توسعه وب حرفه‌ای

یادگیری MVC Core از مبانی تا پیشرفته: شی‌گرایی، Routing، Entity Framework، امنیت، تست یونیت، Razor، Ajax، و پروژه‌های کاربردی! یک دوره کامل برای تسلط بر توسعه وب با ASP.NET Core. به صورت حضوری و آنلاین!

مشاهده بیشتر

میزبانی سرویس در WAS

دوره های پیشنهادی

WCF –میزبانی سرویس در WAS

برای درک فرایند میزبانی سرویس در WAS، ابتدا می بایست با نحوه ی تنظیم و پیکربندی سیستم، ایجاد یک service contract و فعال سازی تنظیمات binding مختلف به سرویس مستقر شده (hosted) آشنا شویم.

پیش از هر چیز، WCF را برای non-protocols فعال نمایید.

قبل از ایجاد سرویس، بایستی سیستم را طوری تنظیم کنید که از WAS پشتیبانی کند. مراحل لازم برای تنظیم WAS در زیر شرح داده شده است:

1. بر روی Start Menu ≫ Control Panel ≫ Programs and Features کلیک کرده و سپس گزینه ی "Turn Windows Components On or Off" را در پنجره ی سمت چپ انتخاب نمایید.

2. "Microsoft .Net Framework 3.0" را باز کرده و سپس گزینه های "Windows Communication Foundation HTTP Activation" و "Windows Communication Foundation Non- HTTP Activation" را فعال نمایید.

3. حال لازم است Binding را به وب سایت پیش فرض اضافه نمایید. به عنوان نمونه، وب سایت پیش فرض را به پروتکل TCP متصل (bind) می کنیم. حال Start Menu ≫ Programs ≫ Accessories. داخل "Command Prompt" راست کلیک کرده و سپس گزینه ی "Run as administrator" را از منو انتخاب نمایید.

4. دستور زیر را اجرا کنید:

C:\Windows\system32\inetsrv> appcmd.exe set site "Default Web Site" -+bindings.[protocol='net.tcp',bindingInformation='808:*']

دستور فوق با ویرایش فایل applicationHost.config مقیم در پوشه ی "C:\Windows\system32\inetsrv\config"، تنظیمات net.tcp site binding را به وب سایت پیش فرض اضافه می کند. به همین ترتیب می توان پروتکل های مختلف را به وب سایت اضافه کرد.

نحوه ی ساخت سرویس مستقر (میزبانی شده) بر روی WAS

گام اول –محیط ویژوال 2008 را راه اندازی کرده و سپس بر روی گزینه ی New → WebSite کلیک نمایید. حال قالب سرویس WCF را از میان template های حاضر بر گزیده و در فیلد Web Location گزینه ی HTTP را انتخاب نمایید:

آموزش WCF

گام دوم –با ایجاد یک interface به نام IMathService، Contract مورد نظر را ایجاد نمایید. خصیصه (attribute) ServiceContract را به interface و خصیصه ی OperationContract را به تعریف متد اضافه نمایید.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
// NOTE: You can use the "Rename" command on the "Refactor" menu to 
// change the interface name "IService" in both code and config file 
// together.
[ServiceContract]
Public interface IMathService
{
 [OperationContract]
 int Add(int num1, int num2);
 [OperationContract]
 int Subtract(int num1, int num2);
} 
گام سوم –پیاده سازی رابط (interface) IMathService در زیر به نمایش گذاشته است:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
// NOTE: You can use the "Rename" command on the "Refactor" menu to 
// change the class name "Service" in code, svc and config file 
// together.
Public class MathService : IMathService
{
 Public int Add(int num1, int num2)
 {
    return num1 + num2;
 }
 Public int Subtract(int num1, int num2)
 {
    return num1 - num2;
 }
}

گام چهارم –فایل سرویس در زیر نمایش داده شده است.

آموزش WCF
<%@ServiceHostLanguage="C#"Debug="true"Service="MathService"CodeBehind="~/App_Code/MathService.cs"%>

گام پنجم –در فایل تنظیمات web.Config، یک endpoint با تنظیمات binding 'netTcpBinding' ایجاد نمایید. metadata ی سرویس توسط Metadata Exchange point منتشر (publish) خواهد شد. بنابراین (درگاه) Metadata Exchange end-point را در فایل تعریف کرده، address را با 'mex' و binding را با 'mexTcpBinding' مقداردهی کنید. توجه داشته باشید که بدون انتشار metadata ی سرویس، نمی توان proxy را به وسیله ی آدرس net.tcp ایجاد کرد، برای مثال:

svcutil.exe net.tcp://localhost/WASHostedService/MathService.svc).


  
  
                         
        
           

فعال سازی binding های مختلف برای سرویس میزبانی شده

1. بر روی Start menu ≫ Programs ≫ Accessories کلیک نمایید. حال داخل "Command Prompt" راست کلیک کرده و گزینه ی "Run as administrator" را از منوی که ظاهر می شود انتخاب نمایید.

2. دستور زیر را اجرا نمایید:

C:\Windows\system32\inetsrv>appcmd set app "Default Web Site/WASHostedService" /enabledProtocols:http,net.tcp

خروجی زیر را بدست می دهد:

آموزش WCF
1395/05/12 2380 4
نظرات شما

نظرات خود را ثبت کنید...