真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

WCF之Windows宿主(可安裝成服務(wù)自動并啟動)-創(chuàng)新互聯(lián)

WCF之Windows宿主(可安裝成服務(wù)自動并啟動)

創(chuàng)新互聯(lián)是一家專注于做網(wǎng)站、網(wǎng)站制作與策劃設(shè)計,崇左網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:崇左等地區(qū)。崇左做網(wǎng)站價格咨詢:13518219792
  • 創(chuàng)建解決方案WCFServiceDemo
  • 創(chuàng)建WCF服務(wù)庫(類庫或WCF服務(wù)庫)WCFService ,添加引用System.ServiceModel、System.Runtime.Serialization

圖1:圖2: 

  • 創(chuàng)建實體模型Book
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;

namespace WCFService.Models
{
    [DataContract]
    [Serializable]
public class Book
    {
        [DataMember]
public string Name { get; set; }
        [DataMember]
public double Price { get; set; }
    }
}
Book
  • 創(chuàng)建實現(xiàn)類BookService
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WCFService.Models;

namespace WCFService
{
public class BookService : IBookService
    {
        List list = new List();
public bool Add(string name, double price)
        {
            list.Add(new Book() { Name = name, Price = price });
return true;
        }

public List GetList()
        {
return list;
        }
    }
}
BookService
  • 創(chuàng)建接口IBookService(接口必須加上ServiceContract特性,方法必須加上OperationContract特性)
using System;
using System.ServiceModel;
namespace WCFService
{
    [ServiceContract]
public interface IBookService
    {
        [OperationContract]
bool Add(string name, double price);

        [OperationContract]
        System.Collections.Generic.List GetList();
    }
}
IBookService
  • 如圖:

 

  • 創(chuàng)建Windows服務(wù)宿主WindowsServiceHost ,添加引用System.ServiceModel、System.Runtime.Serialization    

圖3:圖4:

  • 修改Service1的屬性

在Service1的設(shè)計界面中右擊,選擇“屬性”,把其中的(Name)和ServiceName都改為BookServiceHost

編寫代碼:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceModel;
using System.ServiceProcess;
using System.Text;
using System.Threading.Tasks;
using WCFService;

namespace WindowsServiceHost
{
public partial class BookServiceHost : ServiceBase
    {
        ServiceHost _Host= new ServiceHost(typeof(BookService));
public BookServiceHost()
        {
            InitializeComponent();
        }

protected override void OnStart(string[] args)
        {
            _Host.Open();
        }

protected override void OnStop()
        {
            _Host.Close();
        }
    }
}
BookServiceHost
  • 編輯WCF配置(WCF工具配置

圖5:

  • 新增服務(wù),彈出界面,由于該App.Config文件是我們新添加的一個配置文件,所以左邊的服務(wù)項中是空的。點擊右邊的“新建服務(wù)...”彈出“新建服務(wù)元素向?qū)А贝翱?,單擊“瀏覽”按鈕,選擇Bin/Debug目錄下Services.dll程序集中的Services.BookService服務(wù)。
圖6:圖7:
  • 添加終結(jié)點:終結(jié)點(endpoint)分別有:TCP、HTTP、命名管道、MSMQ、對等、元數(shù)據(jù)
圖8:圖9:圖10:圖11:圖12:圖13圖14:圖15:  圖16:圖17:
  • 依次添加其他的通信模式的終結(jié)點(上面圖示為:http通信模式基本W(wǎng)eb服務(wù)操作性)模式選擇見下圖
圖18:圖19:
  • 下面依次演示添加其他通信模式的終結(jié)點

Http(高級Web服務(wù)互操作性)

圖20: 圖21: 圖22:

到目前為止我們配置好了兩個http通道下的兩個終結(jié)點,但這兩個終結(jié)點的地址我們都使用的是相對地址,它們是相對于當(dāng)前ServiceHost地址,所以我們還需要配置當(dāng)前ServiceHost的地址.

  • 配置ServiceHost地址:

圖23:

這樣我們兩個終結(jié)點算是配置完成了。

“自運行WCF服務(wù)”與“在IIS布運行WCF服務(wù)”不一樣的是,“自運行WCF服務(wù)"除了可以使用Http方式發(fā)布WCF服務(wù),可以使用TCP、命名管道和微軟消息隊列進(jìn)行信息傳輸。
下面我們再配置兩個終結(jié)點,一個是使用TCP通信模式,另一個使用命名管道通信模式。

TCP:

圖24:圖25:

命名管道:

圖26:圖27:

到此為至,我們已經(jīng)為該WCF服務(wù)建立了四個數(shù)據(jù)傳輸?shù)慕K結(jié)點

下面我們?yōu)樵揝erviceHost程序配置“元數(shù)據(jù)終結(jié)點”,以向客戶端發(fā)送服務(wù)元數(shù)據(jù)信息

  • 添加服務(wù)行為。在左側(cè)配置中選擇“高級”-“服務(wù)行為”,再點擊右側(cè)的“新建服務(wù)行為分配”,點擊“添加”彈出“添加行為元素擴(kuò)展部份”窗口,選擇“serviceMetaData”

圖28:圖29:

  • 為服務(wù)配置剛剛新建的行為。

圖30:

  • 配置元數(shù)據(jù)終結(jié)點

圖31:圖32:

圖34:圖33:

圖35:圖36:

圖37:圖38:

最終頁面:到目前為止我們已經(jīng)將Window服務(wù)宿主配置完畢,現(xiàn)在保存,關(guān)閉WCF配置工具,并打開App.Config


  
    
  
  
    
      
        
          
          
          
        
      
    
    
      
        
        
          
            
          
        
        
          
            
          
        
        
          
            
          
        
        
           
                        
                    
        
        
        
          
            
          
        
      
    
  
App.Config

 然后把下面代碼刪掉:



最終的App.config


  
    
  
  
    
      
        
          
          
          
        
      
    
    
      
        
        
        
        
        
        
        
        
        
        
        
          
            
          
        
      
    
  
App.Config

以上所寫不僅適用與Windows宿主,同時適用IIS、控制臺,因此后面關(guān)于IIS以及控制臺宿主的發(fā)布不再重復(fù)以上配置

  • 為服務(wù)添加安裝程序

在Service1設(shè)計界面中右擊,選擇“添加安裝程序”

圖40:圖41:

圖42:圖43(此圖網(wǎng)絡(luò)引用):

  • 開始安裝

進(jìn)入vs2012 開發(fā)命令提示,進(jìn)入項目對應(yīng)的盤符并進(jìn)入exe所在文件夾,執(zhí)行命令 :installutil WindowsServiceHost.exe

圖44:

  • 啟動BookServiceHost服務(wù)

圖45:

  • 測試服務(wù):打開IE,在地址欄中輸入:http://localhost:8081/service出現(xiàn)下面的界面

圖46:

在VS2008命令窗口中輸入:wcftestclienthttp://localhost:8081/Service 出現(xiàn)下面的界面

47:

Demo下載


文章名稱:WCF之Windows宿主(可安裝成服務(wù)自動并啟動)-創(chuàng)新互聯(lián)
文章路徑:http://weahome.cn/article/dhppeg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部