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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

写一个简单控制台启动的mcv服务

發布時間:2023/12/10 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 写一个简单控制台启动的mcv服务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.在項目工程里添加wcf服務,工程中會出現兩個文件IService.cs和Service.cs.

IService.cs中定義服務中的接口,接口必須加特性[OperationContract]才能在客戶端添加服務后,實例化對象中發現該函數。

namespace ConsoleApplication1 { [ServiceContract] public interface IMyService { [OperationContract] void DoWork();[OperationContract] void MyFunction(); } }

?

Service.cs中實現接口

2.添加一個服務后,app.config配置服務信息。配置文件信息可以通過vs 提供的wcf服務配置編輯器來生成,具體可以在網上查到。添加service和contract幾個關鍵節點。?

<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> <system.serviceModel> <behaviors> <serviceBehaviors> <behavior name=""><!--在部署前將以下值設置為 false 避免泄漏元數據信息--><!- --這個信息在用戶添加服務時使用,不然客戶端無法通過添加服務引用找到服務 --> <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> <!-- 要接收故障異常詳細信息以進行調試,請將以下值設置為 true。在部署前設置為 false 以避免泄漏異常信息 --><serviceDebug includeExceptionDetailInFaults="false" /></behavior> </serviceBehaviors> </behaviors> <services> <service name="ConsoleApplication1.MyService"> <endpoint address="" binding="basicHttpBinding" contract="ConsoleApplication1.IMyService"> <identity> <dns value="localhost" /> </identity> </endpoint> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> <host> <baseAddresses><!-用戶客戶端添加服務引用的地址- --> <add baseAddress="http://192.168.1.109:8733//MyService/" /> </baseAddresses> </host> </service> </services> </system.serviceModel> </configuration>

  

3.啟動服務。

在main中添加如下代碼

ServiceHost host = new ServiceHost(typeof(MyService)); //把WCF的service宿主在這里 host.Open(); Console.WriteLine("服務已經啟動"); Console.Read();

這樣這個服務就已經啟動了。

3-1.不編寫配置文件也可以啟動服務,需要在代碼里對配置信息進行確定。

using (ServiceHost host = new ServiceHost(typeof(MyWcfService.Service))){host.AddServiceEndpoint(typeof(MyWcfService.IService), new WSHttpBinding(), "http://localhost:9999/Service.svc");if (host.Description.Behaviors.Find<ServiceMetadataBehavior>() == null){ServiceMetadataBehavior behavior = new ServiceMetadataBehavior();behavior.HttpGetEnabled = true;behavior.HttpGetUrl = new Uri("http://localhost:9999/Service1/hi");host.Description.Behaviors.Add(behavior);}host.Opened += delegate{Console.WriteLine("服務已經啟動,按任意鍵終止服務!");};host.Open();Console.Read();

這樣也可以啟動服務。

?

4.引用服務

在任意工程中添加服務引用,在地址欄中添加http://192.168.1.109:8733//MyService/,就能找到該服務進行添加了。

5.使用服務

在引用了服務的工程代碼中加入如下語句。

?

MyServiceReference.MyServiceClient mc = new MyServiceReference.MyServiceClient();

?

就可用mc來調用服務中的函數了。

轉載于:https://www.cnblogs.com/lxdonge/p/4133566.html

總結

以上是生活随笔為你收集整理的写一个简单控制台启动的mcv服务的全部內容,希望文章能夠幫你解決所遇到的問題。

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