بخش های یک EndPoint
بسم الله الرحمن الرحیم
آموزش WCF
End Point
سرویس WCF یک برنامه است که یک مجموعه از End Point را ارائه می دهد. هر End Point یک پرتال است که ارتباط را با دنیا را برقرار می کند.
همه ارتباطات WCF از طریق بستر End Point ایجاد می شود. End point شامل سه بخش می باشد.
Address
درواقعURL ، جایی که این سرویس WCF هاست شده است را مشخص می کند. کلاینت از این آدرس جهت برقراری ارتباط با سرویس استفاده خواهد کرد. مثال:
http://localhost:8090/MyService/SimpleCalculator.svc
Binding
توصیف می کند که کلاینت چطور با این سرویس ارتباط برقرار خواهد کرد. پروتکل های متفاوتی برای برقرار کردن ارتباط با کلانیت وجود دارد. شما میتوانید ذکر کنید پروتکل خود را بر اساس نیازی که دارید.
بسم الله الرحمن الرحیم
آموزش WCF
End Point
سرویس WCF یک برنامه است که یک مجموعه از End Point را ارائه می دهد. هر End Point یک پرتال است که ارتباط را با دنیا را برقرار می کند.
همه ارتباطات WCF از طریق بستر End Point ایجاد می شود. End point شامل سه بخش می باشد.
Address
درواقعURL ، جایی که این سرویس WCF هاست شده است را مشخص می کند. کلاینت از این آدرس جهت برقراری ارتباط با سرویس استفاده خواهد کرد. مثال:
http://localhost:8090/MyService/SimpleCalculator.svc
Binding
توصیف می کند که کلاینت چطور با این سرویس ارتباط برقرار خواهد کرد. پروتکل های متفاوتی برای برقرار کردن ارتباط با کلانیت وجود دارد. شما میتوانید ذکر کنید پروتکل خود را بر اساس نیازی که دارید.
یک Binding چند خصوصیت دارد. از جمله موارد زیر:
1- Transport، پروتکل اصلی که باید مورد استفاده قرار گیرد مثل HTTP, Named Pipes, TCP, and MSMQ را مشخص می کند
2- Encoding، (اختیاری) سه نوع از Encoding وجود Message Transmission Optimization Mechanism (MTOM) و Text, Binary. MTOM یک فرمت پیام سازگار که اجازه می دهد به طور کارا پیغام های بزرگ یا پیوست ها را انتقال دهید (بزرگتر از 64K).
3- Protocol، (اختیاری) اطلاعاتی که در Binding استفاده می شود را از قبیل امنیت، تراکنش، قابلیت های پیغام های قابل اعتماد را مشخص می کند
Binding |
Description |
BasicHttpBinding |
Basic Web service communication. No security by default |
WSHttpBinding |
Web services with WS-* support. Supports transactions |
WSDualHttpBinding |
Web services with duplex contract and transaction support |
WSFederationHttpBinding |
Web services with federated security. Supports transactions |
MsmqIntegrationBinding |
Communication directly with MSMQ applications. Supports transactions |
NetMsmqBinding |
Communication between WCF applications by using queuing. Supports transactions |
NetNamedPipeBinding |
Communication between WCF applications on same computer. Supports duplex contracts and transactions |
NetPeerTcpBinding |
Communication between computers across peer-to-peer services. Supports duplex contracts |
NetTcpBinding |
Communication between WCF applications across computers. Supports duplex contracts and transactions |
Contract
مجموعه ای از عملیات هایی که مشخص می کند چه Endpoint هایی با دنیای خارج ارتباط برقرار خواهند کرد
معمولا باید نامی از Interface در Contract ذکر شود، بنابراین باید برنامه های تحت کلاینت از عملیات ها یا همان Operation هایی که در
کلاینت ارائه می شوند مطلع باشند. هر Operation یک الگوی تبادلی ساده از قبیل one-way, duplex and request/reply می باشد:
تصویر زیر فرایند EndPoint را نمایش می دهد:
EndPoint ها باید ذکر می کردند در فایل Web.Config سرویس ساخته شده
<system.serviceModel>
<services>
<service name="MathService"
behaviorConfiguration="MathServiceBehavior">
<endpoint
address="http://localhost:8090/MyService/MathService.svc" contract="IMathService"
binding="wsHttpBinding"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MathServiceBehavior">
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
AR
منظورش از Metadata Endpoints چیه ؟
AR
سلام آقایی شیدایی وقت شما بخیر
میشه این خط را تو ضیح بدید ممنون
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>