激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - 通過Web Service實現IP地址查詢功能的示例

通過Web Service實現IP地址查詢功能的示例

2020-05-20 14:47明日學院 ASP.NET教程

下面小編就為大家分享一篇通過Web Service實現IP地址查詢功能的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

實例01 實現一個簡單的Web服務訪問

本實例將實現IP地址查詢接口服務,根據用戶傳入的IP地址返回IP所在的省、市、地區,實例中將會用到IP地址庫用于查詢信息,由于數據較多,所以讀者可在光盤資源文件中直接附加數據庫文件,這里將不再介紹導入數據的過程。

程序實現步驟如下:

(1)打開Visual Studio 2017開發環境,然后依次點擊文件→新建→項目,在彈出的新建項目對話框中選擇“ASP.NET Web應用程序”選項,然后更改項目名稱和項目路徑,如圖12.1所示。

通過Web Service實現IP地址查詢功能的示例

圖12.1 新建ASP.NET Web應用程序

(2)單擊“確定”按鈕,將彈出選擇項目類型對話框,在該對話框中可選擇Web Forms或MVC等項目類型,這里選擇“Empty”空項目類型,然后點擊確定按鈕,如圖12.2所示。

通過Web Service實現IP地址查詢功能的示例

圖12.2 創建空項目

(3)Ip地址查詢功能的條件屬于IP地址段范圍查找,所以在進行篩選時通常要將IP地址轉換成Int類型,這樣做是方便于數據的范圍篩選,所以接下來定義IP地址的數據類型轉換方法,代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
privatelong IPToNumber(string ip)//定義IP轉Int方法,參數ip為用戶要查詢的ip地址
  {
 try
  {
 char[] separator = newchar[] { '.' };//定義char類型的分割數組
 string[] items = ip.Split(separator); //將ip字符串以“.”進行分割并返回數組
 //將ip地址的每一段拆分成二進制形式,然后再將二進制轉換成無符號的32位整數
 returnlong.Parse(items[0]) << 24 | long.Parse(items[1]) << 16
 | long.Parse(items[2]) << 8 | long.Parse(items[3]);
  }
 catch
  {
 return 0;//如果發生異常則返回0
  }
  }

(4)接著定義獲取IP地址的公開方法,該方法將帶有一個字符串類型的參數,參數表示用戶要查詢地區的IP地址,代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[WebMethod(Description = "IP地址歸屬地查詢")]
 publicstringGetIPToArea (string ip)
 {
 long IP = IPToNumber(ip);//傳入string類型的ip地址,返回long類型的ip地址
 //創建數據庫連接對象
 SqlConnection conn =
 newSqlConnection("Server=127.0.0.1;Database=School;Uid=sa;Pwd=123456");
  conn.Open();    //打開數據庫
 DataSet ds = newDataSet(); //定義DataSet
 //創建數據適配器
 SqlDataAdapter sda =
 newSqlDataAdapter("select * from IpAddress where IP1<=" + IP + " and IP2>=" + IP, conn);
  sda.Fill(ds);    //填充DataSet
  conn.Dispose();    //釋放數據庫使用資源
 DataTable dt = ds.Tables[0];//返回查詢的數據表
 if (dt.Rows.Count > 0)  //判斷如果數據總數大于0
  {
 string Province = (string)dt.Rows[0]["Province"];//獲取省
 string City = (string)dt.Rows[0]["City"];  //獲取市
 return ip + ","+Province + "," + City;   //將ip地址與省和市拼接然后返回
  }
 return"未找到IP地址所對應的地區信息";    //返回無數據信息
  }

代碼完成之后,接下就是調用這個服務,首先運行這個服務頁面,這與運行Web頁面相同,在彈出來的網頁中包含了對于這個服務頁面的說明,其中頁面上有兩個可點擊的連接,該連接對應的是服務中定義的方法名稱,一個是剛才定義GetIPToArea方法,并且帶有方法描述信息,另一個則是創建服務頁面時自動生成的測試方法,這里直接點擊GetIPToArea方法連接,如圖12.3所示。

通過Web Service實現IP地址查詢功能的示例

圖12.3 Web服務幫助頁面

點擊之后頁面會跳轉到可對該方法執行調用的頁面,這個頁面幫助我們可以很方便的測試創建的服務。在頁面上有一個文本框用于輸入方法的參數值,并且下面還有一個“調用”按鈕,當用戶輸入完參數值后,點擊“調用”按鈕即可執行服務程序然后等待返回結果,如圖12.4所示。

通過Web Service實現IP地址查詢功能的示例

圖12.4 Web服務調用頁面

最后調用結果將會以彈出新的窗口來顯示,如圖12.5所示。

通過Web Service實現IP地址查詢功能的示例

圖12.5 GetIPToArea方法返回的結果頁面

從上面的測試結果可以看出,Web服務的方法的返回結果是使用XML進行編碼的。

實例02 實現局域網內的Web服務訪問

在本地環境下可通過將Web服務發布到IIS中,在進行調用者的訪問。本實例將實現如何在本地環境下進行調用Web服務。

(1)首先打開IIS管理工具,在IIS管理工具中“網站”的節點下創建一個網站,目錄指定已經編寫好的Web服務應用程序文件夾,然后命名網站名稱并分配IP地址和端口號。這個過程同創建網站站點相同,最后點擊“確定”按鈕完成創建,如圖12.6所示。

通過Web Service實現IP地址查詢功能的示例

圖12.6 發布Web服務到IIS

圖12.6中創建的Web服務站點指定目錄為實例01中創建的的Web服務引用程序,所以接下來在創建一個網站程序用于調用Web服務,該過程主要演示如何添加“服務引用”的操作。

(2)首先新建一個網站并創建Default.aspx頁面,在頁面中添加一個TextBox控件、一個Button控件和兩個Label控件,分別用來輸入IP地址、執行查詢操作和顯示結果信息。

(3)在項目上單擊鼠標右鍵,在彈出的快捷菜單中選擇“添加”→“服務引用”選項,彈出“添加服務引用”對話框,如圖12.7所示。

通過Web Service實現IP地址查詢功能的示例

圖12.7 “添加服務引用”對話框

(4)引用添加完成之后,將在“解決方案資源管理器”中添加一個名為App_WebReferences的目錄,在該目錄中將顯示命名空間為ServiceReference1的服務,如圖12.8所示。

通過Web Service實現IP地址查詢功能的示例

圖12.8 添加的ServiceReference1服務

(5)在Default.aspx頁的“查詢IP地址”按鈕控件的Click事件中,通過調用服務對象的GetIPToArea方法查詢信息,代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
protectedvoid Button1_Click(object sender, EventArgs e)
  {
   ServiceReference1.WebService1SoapClient webService1SoapClient =
 new ServiceReference1.WebService1SoapClient();
 string Result = webService1SoapClient.GetIPToArea(this.TextBox1.Text);
 while (Result.IndexOf(",") > -1)
   {
    Result = Result.Replace(",", "<br/>");
   }
 this.Label1.Text = "以下為輸出IP、省、市的結果:";
 this.Label2.Text = Result;
 }

運行Default.aspx頁面,在文本框中輸入一個有效的IP地址,然后點擊“查詢IP地址”按鈕,頁面將會輸出查詢到的結果信息,如圖12.9所示。

通過Web Service實現IP地址查詢功能的示例

圖12.9 調用Web服務結果

本文摘自明日科技出版的《零基礎學ASP.NET》

以上這篇通過Web Service實現IP地址查詢功能的示例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/mrxy/archive/2017/12/07/7998075.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲福利在线视频 | 一日本道久久久精品国产 | 精品一区在线视频 | 中文字幕国产欧美 | 黑人一级片视频 | 国产亚洲精品久久久久久大师 | 免费毛片观看 | 日本不卡二区 | 中文字幕亚洲一区二区三区 | 国产小视频在线 | 亚洲午夜影院在线观看 | 成年免费大片黄在线观看岛国 | 国产亚洲精品久久久久久久久 | av成人免费在线观看 | 蜜桃视频在线免费播放 | 国产精品久久久不卡 | 欧美成人精品欧美一级 | 久久国产成人精品国产成人亚洲 | 国产女厕一区二区三区在线视 | 欧美a在线观看 | 亚洲一区二区三区高清视频 | 亚洲小视频在线观看,com | 国产一国产一级毛片视频 | 一区二区三区精品国产 | omofun 动漫在线观看 | 18一20岁一级毛片 | av在线免费看网站 | 久久精品免费网站 | 亚洲天堂字幕 | 国产精品视频亚洲 | 精品一区二区三区中文字幕老牛 | 91短视频在线播放 | 一级国产免费 | 久久亚洲成人网 | 国产精品自拍av | 欧美一区二区三区四区夜夜大片 | av色先锋| 一级大片一级一大片 | 曰本三级日本三级日本三级 | 免费在线观看午夜视频 | 亚洲第一成av人网站懂色 |