C# webservice 編寫、發布、調用


采用的工具VS2010生成工程

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

2. 在建好的ASP.NET 空WEB應用程序中新建項“web 服務”。

完成上述內容工程結構如下圖

下面主要的操作就是在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

運行成功的界面如下圖

二:發布此webservice

1. 與發布asp.net是一樣的,首先在IIS的網站節點下添加網站;如下圖

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. 單步調試一下若運行結果和預料一樣則成功了。 

 


免責聲明!

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



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