C# webservice 編寫、發佈、調用

採用的工具VS2010生成工程web

1. 生成webservice工程:建 ASP.NET 空WEB 應用程序。數據庫

2. 在建好的ASP.NET 空WEB應用程序中新建項「web 服務」。瀏覽器

完成上述內容工程結構以下圖asp.net

下面主要的操做就是在webservice1.asmx.cs文件中進行,裏面寫了幾個服務,兩個簡單服務兩個查詢數據庫服務;工具

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data.SqlClient;
using System.Data;
using MySql.Data;
using MySql;
using MySql.Data.MySqlClient;

namespace webservice
{
    /// <summary>
    /// WebService1 的摘要說明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要容許使用 ASP.NET AJAX 從腳本中調用此 Web 服務,請取消對下行的註釋。
    // [System.Web.Script.Services.ScriptService]
    public  class WebService1 : System.Web.Services.WebService
    {

        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }

        [WebMethod]
        public int GetSum(int a, int b)
        {
            return a + b;
        }

        [WebMethod]
        public DataSet query()
        {
            DataSet ds = new DataSet();
            string connstring = "Database=test;Data Source=localhost;User Id=root;Password=root";
            MySqlConnection mycn = new MySqlConnection(connstring);
            mycn.Open();
            MySqlDataAdapter mda = new MySqlDataAdapter("select * from stock_data", mycn);
            mda.Fill(ds,"stock_data");            
            return ds;
        }

        [WebMethod]
        public DataSet goldprice()
        {
            DataSet ds = new DataSet();
            string connstring = "Database=test;Data Source=localhost;User Id=root;Password=root";
            MySqlConnection mycn = new MySqlConnection(connstring);
            mycn.Open();
            MySqlDataAdapter mda = new MySqlDataAdapter("select * from goldprice", mycn);
            mda.Fill(ds, "stock_data");
            return ds;
        }

        
    }
}

 到目前爲至C# 的webservice的服務算是寫好了。下面咱們須要啓動些服務F5測試

運行成功的界面以下圖網站

二:發佈此webservicespa

1. 與發佈asp.net是同樣的,首先在IIS的網站節點下添加網站;以下圖.net

2. webservice發佈到IIS的虛擬目錄;選擇webservice工程右擊點發布進行發佈以下圖調試

3. 修改此網站的高級設置: 把應用程序池修改成ASP.NET v4.0便可。

4. 瀏覽此網站http://192.168.56.1/WebService1.asmx若運行的效果與在VS2010運行的效果同樣則部署成功了。

三:webservice服務調用

1. 新建一個測試工程,在工程的引用節點中右擊「添加服務引用」把瀏覽器中的URL填寫到地址框中點前往,並修改命名空間;以下圖

2. 而後再從新生成一下測試項目,最後在測試項目中定義一個測試方法並調用webservice中的方法。代碼以下

private void button1_Click(object sender, RoutedEventArgs e)
        {
            YDTF.WebService1SoapClient aa = new YDTF.WebService1SoapClient();
            button1.Content = aa.HelloWorld();
            Menus m = new Menus();
            m.Name = "Name";
            m.NameSpace = "NameSpace";
            DataSet ds = aa.query();
            int i = ds.Tables[0].Rows.Count;
        }

3. 單步調試一下若運行結果和預料同樣則成功了。 

相關文章
相關標籤/搜索