成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解ASP.NET中如何創建GeoRSS訂閱源

開發 后端
在這里我們將介紹一個實例,在ASP.NET Web應用開發中如何創建GeoRSS訂閱源,希望對大家有所幫助。

在此練習中,您將在 ASP.NET Web 應用程序中實現 HTTP 處理程序以返回 GeoRSS 訂閱源。GeoRSS 是在 RSS 訂閱源中包含地理空間數據時所用的一個標準,它定義了一種名為 GeoRSS GML 的特定格式,用來在訂閱源中包含 GML 格式的數據。客戶端應用程序可以訂閱 GeoRSS 訂閱源,訂閱方式與訂閱常規 RSS 訂閱源相同。可以輕松地將 GeoRSS 格式的數據導入 Microsoft Virtual Earth VEMap 控件中。

#T#

注意:您可以從 C:\SQLHOLS\Spatial and VE\Solution\StoreFinderSite 中的完成的網站頁面復制此練習中所用的代碼。

實現 HTTP 處理程序

1. 啟動 Microsoft Visual Studio 2008。

2. 在文件菜單中,單擊打開網站,然后打開 C:\SQLHOLs\Spatial and VE\Starter\StoreFinderSite 網站。

3. 在解決方案資源管理器中,展開 App_Code,然后雙擊 GeoRSSHandler.vb 在代碼編輯器中打開它。

注意:HTTP 處理程序是一個代碼模塊,用于處理對 Web 應用程序的 HTTP 請求。通常由默認 ASP.NET 請求處理程序處理對 ASP.NET Web 應用程序的請求,但是您可以針對特定文件擴展名創建自定義處理程序。在本例中,您將實現一個將用于處理擴展名為 .georss 的文件的請求的處理程序。

4. 檢查現有的代碼。處理傳入請求的過程名為 ProcessRequest。請注意,此過程不完整,包含大量必須添加代碼的注釋。

5. 在注釋 Build the GeoRSS feed下,添加以下代碼,以開始構建將由 HTTP 處理程序返回的 GeoRSS 訂閱源。

  1. rssOutput.AppendLine("  
  2. rssOutput.AppendLine("xmlns:georss='http://www.georss.org/georss'")  
  3. rssOutput.AppendLine("xmlns:gml='http://www.opengis.net/gml'>")  
  4. rssOutput.AppendLine("")  
  5. rssOutput.AppendLine("Store Locations")  
  6. rssOutput.AppendLine("")  
  7. rssOutput.AppendLine("" + System.DateTime.Now + "")  
  8. rssOutput.AppendLine("")  
  9. rssOutput.AppendLine("SQL Server")  
  10. rssOutput.AppendLine(""

6. 在注釋 Open a connection to the database下,添加以下代碼。

  1. sqlConn.Open() 

7. 在注釋 Use the GetStoresGML stored proc to get all stores by default下,添加以下代碼。

  1. spName = "GetStoresGML" 

注意:默認情況下,對此 HTTP 處理程序的請求將調用 GetStoresGML 存儲過程,并返回包含所有商店的 GeoRSS 訂閱源。

8. 在注釋If a searchFrom parameter is provided, use GetNearbyStores and add the provided lat and lon coordinates as parameters下,添加以下代碼。

  1. Dim searchFrom As String = context.Request.QueryString("SearchFrom")  
  2. If Not searchFrom Is Nothing Then  
  3. spName = "GetNearbyStoresGML" 
  4. Dim latLong() As String = Split(searchFrom, ",", 2)  
  5. cmd.Parameters.Add(New SqlParameter("Lat", latLong(0)))  
  6. cmd.Parameters.Add(New SqlParameter("Long", latLong(1)))  
  7. End If 

注意:如果請求包含名為 SearchFrom 的參數(假定它包含以逗號分隔的緯度和經度坐標對),處理程序將從此參數提取緯度和經度值,并使用 GetNearbyStoresGML 存儲過程返回 GeoRSS 訂閱源,訂閱源中包含請求的搜索點周圍方圓 100 km 范圍內的商店。

9. 在注釋 Specify the stored procedure name as the command text(將存儲過程名稱指定為命令文本)下,添加以下代碼。

  1. cmd.CommandText = spName 

10. 在注釋 Create an element for this row下,添加以下代碼來為存儲過程的結果中的每一行都創建一個 標記。

  1. rssOutput.AppendLine(""

11. 在注釋 Use columns 0 and 1 for the title and description下,添加以下代碼以根據存儲過程返回的數據創建 ", geomRdr.GetValue(0)))

  1. rssOutput.AppendLine(String.Format("{0}", _  
  2. geomRdr.GetValue(1))) 

12. 在注釋 Add a element下,添加以下代碼來為此條目創建 元素。

  1. rssOutput.AppendLine("") 

13. 在注釋 Get the geography instance GML from column 2下,添加以下代碼,以從存儲過程結果中檢索 GML 數據。

  1. gml = geomRdr.GetValue(2).ToString() 

14. 在注釋 Add the elements to the output XML下,添加以下代碼以向 GeoRSS 訂閱源添加 GML 數據。

  1. rssOutput.AppendLine(gml) 

15. 在注釋 Close and elements下,添加以下代碼。

  1. rssOutput.AppendLine("")  
  2. rssOutput.AppendLine("") 

16. 在注釋 Close the document and send it as the response下,添加以下代碼以完成 GeoRSS 訂閱源并將其發送給請求人。

  1. rssOutput.Append("")  
  2. context.Response.Write(rssOutput.ToString()) 

17. 保存 GeoRSSHandler.vb。

注冊 HTTP 處理程序

1. 在解決方案資源管理器中,雙擊 web.config 在編輯器中打開它。

2. 在 部分中,在注釋 Register the GeoRSSHandler for .georss requests下,添加以下 XML。

  1. <add verb="*" path="*.georss" type="GeoRSSHandler" validate="false"/> 

 

 注意:您必須為特定文件擴展名注冊 HTTP 處理程序,以便 Internet Information Services 將針對這些文件的請求轉發到正確的處理程序。

 

3. 保存 web.config。

測試 HTTP 處理程序

1. 在解決方案資源管理器中,單擊位于樹的根目錄下的網站項目文件,然后按 F4 查看其屬性。

2. 請注意觀察端口號屬性。

3. 在網站菜單上,單擊啟動選項。

4. 選擇啟動 URL,輸入以下 URL(將 port 替換為網站的端口號屬性的值),然后單擊確定。

http://localhost:/storefindersite/test.georss

5. 在調試菜單上,單擊開始執行(不調試)。

6. 當 Microsoft Internet Explorer ® 打開時,查看包含商店名稱的 RSS 訂閱源的頁面。

7. 在 Internet Explorer 中,右鍵單擊該網頁的任意位置,然后單擊查看源文件以在記事本中打開該頁的源文件。請注意,該頁的源是您前面創建的 HTTP 處理程序生成的 GeoRSS 訂閱源。

8. 關閉記事本。

9. 在 Internet Explorer 中的地址欄中,將以下查詢字符串附加到 URL 后,然后按 Enter。

?SearchFrom=34.000000,-118.000000

10. 驗證生成的 GeoRSS 訂閱源包含搜索區域及其中的所有商店。

11. 關閉 Internet Explorer。 

責任編輯:彭凡 來源: IT168
相關推薦

2010-01-11 09:18:28

2009-07-29 16:08:07

ASP和ASP.NET

2009-08-04 13:38:36

ASP.NET用戶控件

2009-07-22 16:25:41

ASP.NET AJA

2009-07-28 16:57:50

ASP.NET Ses

2009-08-05 11:14:33

ASP.NET ISA

2009-07-24 10:14:22

ASP.NET開發

2009-07-23 13:19:51

2009-07-28 14:22:05

數據源控件ASP.NET

2009-08-13 11:44:25

ASP.NET中的多種

2009-07-23 13:09:23

2009-08-19 13:44:00

ASP.NET Lis

2009-07-28 13:39:44

加載ViewStateASP.NET

2009-08-04 10:43:59

ASP.NET控件開發

2009-08-04 18:10:35

ASP.NET動態編譯

2009-07-29 13:57:53

創建SlideShowASP.NET

2009-07-23 14:21:55

ASP.NET頁面

2009-10-29 09:15:32

ASP.NET MVCDropDownLis

2009-07-27 14:50:24

ChartAreas控ASP.NET 3.5

2010-03-19 09:17:16

ASP.NET MVC
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美在线视频一区二区 | 91精品国产综合久久小仙女图片 | 亚洲视频免费在线观看 | 欧美色综合一区二区三区 | 在线免费观看一区二区 | 久久久91精品国产一区二区精品 | 久久机热 | 日韩av成人 | www.av在线 | 天天操夜夜爽 | 亚洲一区二区三区乱码aⅴ 四虎在线视频 | 盗摄精品av一区二区三区 | 在线免费观看黄a | 中文字幕免费 | 九九久久久 | 中文字幕一区二区三区四区五区 | 九九色九九 | 一级毛毛片 | 综合视频在线 | 欧美日韩精品一区 | 欧美成人免费在线 | 久久综合av | 久久久久久网站 | 亚洲国产精品一区二区www | 国产成人精品视频在线观看 | 亚洲精品一区二区久 | 99色综合| 一区二区三区国产精品 | 亚洲第一色av| 久久精品一区二区三区四区 | 中文字幕视频一区二区 | 欧美高清一级片 | 国产高清免费视频 | 国产精品久久久久久婷婷天堂 | 精品区 | 成人在线播放 | 夜夜爽99久久国产综合精品女不卡 | 99小视频| 欧美一区二区三区在线看 | 亚洲精品视频在线 | 一区二区福利视频 |