(原創)如何將WCF服務發布到IIS中去VS2010版


上一遍我轉載了別人的的帖子,如何在VS2010中去創建WCF服務,這一遍我就詳細的講解下如何將WCF Service Library服務部署到IIS中去,供Web應用程序使用。


附上Demo:WCF完整的一個Demo(WCF創建、部署、調用).rar 

  1. 創建好一個WCF Service Library(具體可以參考我的上一遍文章VS2010中如何創建一個WCF
  2. 創建一個Web Application(准備放到IIS中去的就是這個Application了)讓我們一起來從頭開始做一遍吧。
第一步,我們在剛剛創建完的解決方案里,再添加一個WebApplication的項目取名叫做“WebServicePerson”
 

 

 第二步,給WebServicePerson這個項目添加一個.SVC的文件,取名叫做“PersonService”

 

接下來呢,將創建項目時自帶的文件夾和.aspx文件都刪除掉(如下圖)然后打開 PersonService.svc 文件,我們需要將文件修改如下。

<%@ ServiceHost Language="C#" Debug="true" Service="WCFService_Library2010.PersonService" %>  

 Service="WCFService_Library2010.PersonService"是需要自己定義的,服務指向那個WCF的服務庫

 

 

 

 第三步,非常重要絕對不能忽略,就是要將WCF服務引用到當前的項目中來。

 

 

 

第四步,經過上面三步的操作項目基本已成成型了,接下來只需要最后一步了,那就是配置Web.Config. 自己手寫去配置Web.config是非常痛苦的,所幸微軟給我我們提供了非常便捷的配置功能“Edit WCF Configuration”

 

 

我們接着往下看.....

 

進入配置界面后,我們發現Services下面並沒有任何節點,需要我們自己去新建一個,可以點擊“Create a New Service...”去創建 

 

 

去選擇,我們剛剛創建的 WCF Service Library的服務。

 

 

 

一路next往下。 

 

 

 

 

 

創建完之后,我們會得到這樣的一個界面。 

 

 

 這一步很重要的,因為之前我們已經添加了一個.svc的文件PersonService並且已經配置好了Service的內容,所以系統自動已經在Service Behaviors下面創建了一個PersonService的節點。

此時我們只需要填寫一個name就可以了(如下圖 )

 

 回到Services 選中剛剛創建的name名稱。

 

最后,最關鍵的一步就是要記得“保存”。。不然我們剛做的所有配置都白費了。 

 

 

最后去運行PersonService.svc,右擊 → 在瀏覽器中查看,一切大功告成了。此時你就可以將這個WebAppliction部署到IIS中去了,供Web項目所使用。

 

至於如何在項目里調用WebService,上圖中其實已經有詳細的說明了並且給出調用的代碼了,我就不多說了。

 附上代碼:

     < p > 

        <asp:TextBox ID="TextAge" runat="server"></asp:TextBox>
        <asp:TextBox ID="TextName" runat="server"></asp:TextBox>
        <asp:Button ID="Button1"   runat="server" Text="新增" onclick="Button1_Click" />
    </p>
    <p>
        <asp:Label ID="LabInfo" runat="server" Text=""></asp:Label>
        <asp:Button ID="Button2"   runat="server" Text="獲取" onclick="Button2_Click" 
             
/>
    </p>

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using WebPerson.PersonService; // 這里是引用webservice


namespace WebPerson
{
     public  partial  class _Default : System.Web.UI.Page
    {
         protected  void Page_Load( object sender, EventArgs e)
        {

        }

         protected  void Button1_Click( object sender, EventArgs e)
        {
            PersonServiceClient client =  new PersonServiceClient();

            client.AddPerson( new Person() { Age=Convert.ToInt32(TextAge.Text), Name=TextName.Text });

            client.Close();

        }

         protected  void Button2_Click( object sender, EventArgs e)
        {
            LabInfo.Text =  "";

            PersonServiceClient client =  new PersonServiceClient();
            Person [] personList = client.GetAllPersons();
             foreach (Person model  in personList)
            {
                LabInfo.Text += model.Age +  " , " + model.Id +  " , " + model.Name +  " <br /> ";
            }
             
        }


    }


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM