您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關(guān)C#中怎么創(chuàng)建一個WebService服務(wù),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
打開vs.Net,新建工程(asp.Net web服務(wù)),在位置中鍵入http://localhost/webserver,其中webserver就是工程的名字。確定后,出現(xiàn)一個Service1.asmx.cx,雙擊,出現(xiàn)代碼窗口,
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Web; using System.Web.Services; namespace webserver { /// /// Service1 的摘要說明。 /// (1) public class Service1 : System.Web.Services.WebService { public Service1() { //CODEGEN:該調(diào)用是 ASP.Net Web 服務(wù)設(shè)計器所必需的 InitializeComponent(); } #region Component Designer generated code //Web 服務(wù)設(shè)計器所必需的 private IContainer components = null; /// /// 設(shè)計器支持所需的方法 - 不要使用代碼編輯器修改 /// 此方法的內(nèi)容。 /// private void InitializeComponent() { } /// /// 清理所有正在使用的資源。 /// protected override void Dispose ( bool disposing ) { if(disposing && components != null) { components.Dispose(); } base.Dispose(disposing); } #endregion // WEB 服務(wù)示例 // HelloWorld() 示例服務(wù)返回字符串 Hello World // 若要生成,請取消注釋下列行,然后保存并生成項目 // 若要測試此 Web 服務(wù),請按 F5 鍵 // [WebMethod] // public string HelloWorld() // { // return "Hello World"; // } } }
下面在(1)處加入
[WebService(Namespace="http://localhost/webserver/")]
這是因為soap是基于http協(xié)議上的,客戶端無法知道webservice位于那個服務(wù)器上。在實際應(yīng)用中,比如http://www.ourfly.com上放置這個webservice,則Namespace改為http://www.ourfly.com/webserver.
下面我們給這個webservice添加一個方法。
// [WebMethod] // public string HelloWorld() // { // return "Hello World"; // } 微軟幫我們寫好了一個,接著添加一個方法。 方法名稱叫show. [WebMethod] public string show(string yourname) { return “http://www.ourfly.com”+”歡迎”+yourname; } 現(xiàn)在,就可以運行了,按F5,點擊show,輸入你的名字, 然后點擊invote 看到了吧。 〈 ?Xml version="1.0" encoding="utf-8" ?〉 〈 string Xmlns="http://tempuri.org/"〉 http://www.ourfly.com歡迎yyg〈 /string〉
成功了。打開bin目錄,Vs.Net已經(jīng)將proxy做好了.webserver.dll.
現(xiàn)在我們在不同的環(huán)境下測試:
1.打開vs.Net,新建”windows應(yīng)用程序”工程,命名為Client,增加按鈕,文本框。
現(xiàn)在要用到代理了,右鍵單擊右邊的reference(引用),選擇”添加引用”,選擇瀏覽,找到webserver目錄下的bin目錄下的webserver.dll
再加入一個system.web.webservices的引用,在列表中有。
在form1.cs里,加入
using System.Web.Services;
using webserver;
然后在
private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox textBox1;
后面,插入
private webserver.service1 Client
建立一個service1的實例。雙擊按鈕,代碼如下:
private void button1_Click (object sender, System.EventArgs e) { Client =new Service1(); string name; name=Client.show("龍卷風(fēng).Net"); textBox1.Text=name; }
按F5,運行工程,點擊按鈕,文本框中顯示 http://www.ourfly.com歡迎龍卷風(fēng).Net
2. Asp.Net web窗口的測試
方法與上面的一模一樣,添加引用,建立service1的實例 在此不在細說。
3.在VB中測試
這個就要相對來說復(fù)雜一些 ,首先在VB中建立一個”標(biāo)準(zhǔn)EXE”的工程。添加引用:Microsoft Soap Type library。
注意:如果沒有安裝Microsoft Soap Toolkit,是沒有這個類型庫的。 可以在http://www.ourfly.com中下載。
添加一個text Private Sub Form_Load() Text1.Text = add() End Sub Public Function Add() As String Dim objSoapClient As New SoapClient objSoapClient. ClientProperty("ServerHTTPRequest") = True Call objSoapClient.mssoapinit( "http://localhost/webserver/service1.asmx?WSDL", "Service1", "Service1Soap") 這句也可以 objSoapClient.mssoapinit( "http://localhost/webserver/service1.asmx?WSDL") Add = objSoapClient.Show("龍卷風(fēng).Net") End Function
調(diào)試成功需要注意的:
運行服務(wù)端webservice的程序,出現(xiàn)下面時 支持下列操作。有關(guān)正式定義。
點擊服務(wù)說明,會得到完整的wsdl文件 http://localhost/webserver/Service1.asmx?WSDL
我們就要使用這個文件,其中包含了我們定義的方法等等。Mssoapinit(bstrWSDLFile as string,[bStrServiceName as string ],[bStrport as string ] ,[bstrWSMLDile as string])的用法: 其中第二個,第三個參數(shù)在wsdl文件中可以找到。也可以省略。
關(guān)于C#中怎么創(chuàng)建一個WebService服務(wù)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。