C#最简单最完整的webservice实例
我做java,但最近接觸crm所以必須研究一下C#中的webservice以備后用,其實就是個新手,哈哈,這個實例是我在參考了網上諸多不完整的例子的情況下,自己摸索完成的。期間遇到過一系列的棘手的問題,經過個人努力終于解決了。我把整個步驟都寫完整了,以供以后像我這樣的C#新手少走彎路,程序很簡單,過程有點長,希望有耐心,對于入門還是有些幫助的。如果博客中沒附上源碼的【原因可能沒法添加源碼】,可以留言或郵箱我來發送給大家。
?
?
一、環境?
? ??我的開發環境是xp的sp3,這個對于asp.net的要求是v2.0.50727
如果不是的話會報錯,可以到本地的
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
運行即可。如果自己的已經安裝過的就可以跳過,否則在webservic的調試中會報一下錯:
名稱以無效字符開頭。處理資源 'http://localhost/ws/Service.asmx' 時出錯。第 1 行,位置: 2
?? 其次,需要安裝IIS,我測試的版本是iis5.1, 本來裝了iis6 但是用不了,所以版本也很重用,本人在次耗費了部分心血。如果不清楚版本可以看看百科里的描述以作決定的參考:
http://baike.baidu.com/view/850.htm
?
二、程序
這個過程總共建立2個獨立的項目:一個webservice 項目,一個調用。
?? 1 建立和部署webservice 項目:
? ?用vs2008新建webservicesT? :注意是ASP.NET Web 服務應用程序
??
?
?之后系統會自動生成一個類似于helloworld的一個簡單例子:
?
?打開之后,可以看到
?
至此最簡單的webservice就建立好了。我們不需要做任何事情,就用他來測試。
?
?接著需要對整個工程“生成”和發布。
?生成只要右鍵點擊項目選擇“生成”即可。
發布也一樣,如下截圖。
?
?
? 把發布的文件拷到iis工作路徑中,并把這個文件夾“web共享”。
? 在資源管理器中:
?
web
共享:
在iis中查看,我建的文件名為sv:
?
?最后來查看一下是不是部署成功,可以在ie地址欄中輸入相關的url:
?我涉及的url? http://localhost/sv/Service1.asmx
?成功的話可以看到下面的截圖
?
?
然后點擊“HelloWorld”鏈接:
?
?
然后點擊“HelloWorld”鏈接,就可以最終的頁面顯示的xml內容:
?
?這樣表示整個
webservice的建立和部署是成功的。
?
?
? 2 接下來建立對webservice的調用調試。
?我是建立了一個web應用項目來調用測試的。
?步驟跟建立webservice項目類似,
注意選擇好類型如圖:?
?
其次,最重要的一步就是引用webservice ,
?項目右鍵選擇“添加web引用”,可以看到下圖:
?
?填入之前建立的webservice 對應的url ,此處是 http://localhost/sv/Service1.asmx
? 點擊前往即可:
??
? 然后把往“Web引用名”中填入一個名字,我填的是kiss,這個名字比較重要,因為下面的步驟中要使用他,當然你可以任意,但請記住。
? 然后在后臺中寫入調用的方法頁面也加入觸發事件:
?后臺代碼:
1 using System; 2 3 using System.Collections; 4 5 using System.Configuration; 6 7 using System.Data; 8 9 using System.Linq; 10 11 using System.Web; 12 13 using System.Web.Security; 14 15 using System.Web.UI; 16 17 using System.Web.UI.HtmlControls; 18 19 using System.Web.UI.WebControls; 20 21 using System.Web.UI.WebControls.WebParts; 22 23 using System.Xml.Linq; 24 25 26 27 namespace wbcall 28 29 { 30 31 public partial class _Default : System.Web.UI.Page 32 33 { 34 35 protected void Page_Load(object sender, EventArgs e) 36 37 { } 38 39 public string GetString() 40 41 { kiss.Service1 n = new kiss.Service1(); 42 43 string ss = n.HelloWorld(); 44 45 return ss; 46 47 } 48 49 } 50 51 } View Code?
前臺代碼:
1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="wbcall._Default" %> 2 3 4 5 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 6 7 8 9 <html xmlns="http://www.w3.org/1999/xhtml" > 10 11 <head runat="server"> 12 13 <title>無標題頁</title> 14 15 <script language="javascript" type="text/javascript"> 16 17 function B() 18 19 { 20 21 var a="<%=GetString() %>"; 22 23 alert (a); 24 25 } 26 27 </script> 28 29 </head> 30 31 <body> 32 33 <form id="form1" runat="server"> 34 35 <div> 36 37 kkkk 38 39 <br /> 40 41 <input id="Bnt1" type="Button" value="button" runat ="server" οnclick="B()" /> 42 43 </div> 44 45 </form> 46 47 </body> 48 49 </html> View Code?
兩個的截圖分別如下:
?
?
然后把此項目“生成”、“發布”到iis上,這個過程跟 webservice 一樣,不再多說。
假如已經完成,接下來可以做測試了。
很簡單,在瀏覽器的地址欄中輸入: http://localhost/sc/Default.aspx
可以看到
??
?點擊按鈕“button”
?
?系統會有這么一個提示,提示的內容就是之前在
webservice中的寫的,可以看一下兩者是一致的,都輸出"HelloWorld"。
?
?整個過程就結束了。當然調用的形式有多種,這里我只用了這個最簡單的,其余的大家可以一起研究。
?這個webservice的建立和調用測試我都是在本機上,如果有必要可以在分布式環境上來測試。?
轉載于:https://www.cnblogs.com/linyanyao/p/5358889.html
總結
以上是生活随笔為你收集整理的C#最简单最完整的webservice实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果头戴设备已在路上:价格过万 有可能取
- 下一篇: 腾讯对朋友圈密谋大动作 一周只让能发7条