日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# WCF初识

發布時間:2025/3/8 C# 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# WCF初识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文:http://www.cnblogs.com/artech/archive/2007/02/26/656901.html

方式1:

需引用 System.ServiceModel

namespace ConsoleApplication1 {/*契約(Contracts):主要定義了實現那些服務,如何訪問服務契約 通常是一個 接口,定義了我們會提供哪些服務。*/[ServiceContract(Name = "CalculatorService", Namespace = "http://www.artech.com/")]public interface ICalculator{//在方法上 聲明OperationContract 表示該方法是一個對外的服務 [OperationContract]double Add(double x, double y);[OperationContract]double Subtract(double x, double y);[OperationContract]double Multiply(double x, double y);[OperationContract]double Divide(double x, double y);}/*服務 則是如何實現這個契約*/public class CalculatorService : ICalculator{public double Add(double x, double y){return x + y;}public double Subtract(double x, double y){return x - y;}public double Multiply(double x, double y){return x * y;}public double Divide(double x, double y){return x / y;}} } View Code namespace ConsoleApplication1 {class Program{static void Main(string[] args){//原文:http://www.cnblogs.com/artech/archive/2007/02/26/656901.htmlusing (ServiceHost host = new ServiceHost(typeof(CalculatorService))){host.AddServiceEndpoint(typeof(ICalculator), new WSHttpBinding(), "http://127.0.0.1:9999/calculatorservice");if (host.Description.Behaviors.Find<ServiceMetadataBehavior>() == null){ServiceMetadataBehavior behavior = new ServiceMetadataBehavior();behavior.HttpGetEnabled = true;behavior.HttpGetUrl = new Uri("http://127.0.0.1:9999/calculatorservice/metadata");host.Description.Behaviors.Add(behavior);}host.Opened += delegate{Console.WriteLine("CalculaorService已經啟動,按任意鍵終止服務!");};host.Open();Console.Read();} }} } View Code

?

//方式2(配置App.config):

namespace ConsoleApplication1 {/*契約(Contracts):主要定義了實現那些服務,如何訪問服務契約 通常是一個 接口,定義了我們會提供哪些服務。*/[ServiceContract(Name = "CalculatorService", Namespace = "http://www.artech.com/")]public interface ICalculator{//在方法上 聲明OperationContract 表示該方法是一個對外的服務 [OperationContract]double Add(double x, double y);[OperationContract]double Subtract(double x, double y);[OperationContract]double Multiply(double x, double y);[OperationContract]double Divide(double x, double y);}/*服務 則是如何實現這個契約*/public class CalculatorService : ICalculator{public double Add(double x, double y){return x + y;}public double Subtract(double x, double y){return x - y;}public double Multiply(double x, double y){return x * y;}public double Divide(double x, double y){return x / y;}} } View Code namespace ConsoleApplication1 {class Program{static void Main(string[] args){//原文:http://www.cnblogs.com/artech/archive/2007/02/26/656901.html//WCF服務寄宿通過一個特殊的對象完成:ServiceHost。//在上面的例子中,基于WCF服務的類型(typeof(CalculatorService))創建了ServieHost對象,并添加了一個終結點。//具體的地址為http://127.0.0.1:9999/calculatorservice,采用了WSHttpBinding,并指定了服務契約的類型ICalculator。//接下來是要將這個服務承載于宿主中。和為這個服務分配一個訪問的地址。這時,需要新建一個App.config配置文件ServiceHost host = new ServiceHost(typeof(CalculatorService));//將服務寄宿在宿主中host.Open();//運行Console.WriteLine("服務已啟動、、、");Console.ReadKey(true);host.Close(); //關閉 }} } View Code <?xml version="1.0" encoding="utf-8" ?> <configuration><system.serviceModel><behaviors><serviceBehaviors><behavior name="metadataBehavior"><serviceMetadata httpGetEnabled="true" httpGetUrl="http://127.0.0.1:9999/calculatorservice/metadata" /></behavior></serviceBehaviors></behaviors><services><service behaviorConfiguration="metadataBehavior" name="ConsoleApplication1.CalculatorService"><endpoint address="http://127.0.0.1:9999/calculatorservice" binding="wsHttpBinding" contract="ConsoleApplication1.ICalculator" /></service></services></system.serviceModel> </configuration> View Code

?

轉載于:https://www.cnblogs.com/guxingy/p/10329592.html

總結

以上是生活随笔為你收集整理的C# WCF初识的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。