成人免费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-24 10:14:22

ASP.NET開發

2009-07-28 16:57:50

ASP.NET Ses

2009-08-05 11:14:33

ASP.NET ISA

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-08-04 10:43:59

ASP.NET控件開發

2009-07-28 13:39:44

加載ViewStateASP.NET

2009-08-04 18:10:35

ASP.NET動態編譯

2009-07-23 14:21:55

ASP.NET頁面

2009-07-29 13:57:53

創建SlideShowASP.NET

2009-10-29 09:15:32

ASP.NET MVCDropDownLis

2009-07-27 14:50:24

ChartAreas控ASP.NET 3.5

2009-08-05 11:00:46

獲得RowIndexASP.NET
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区精品在线观看 | 国产精品久久精品 | 亚洲高清在线观看 | 精品免费国产一区二区三区 | 三级黄色片在线观看 | 国产日韩视频在线 | 欧美在线亚洲 | 久草免费在线视频 | 欧美激情视频一区二区三区免费 | 亚洲欧美在线观看 | 久久中文字幕一区 | 久久久综合色 | 精品欧美一区二区三区久久久小说 | 亚洲免费一区二区 | 欧产日产国产精品国产 | 国产激情在线观看 | 亚洲综合在线一区 | 国产精品99999 | 91欧美激情一区二区三区成人 | 日韩亚洲欧美一区 | 国产欧美精品一区二区三区 | 亚洲精品视频三区 | 日本不卡一区二区三区在线观看 | 亚洲一区二区免费看 | 欧美在线a | 少妇淫片aaaaa毛片叫床爽 | 欧美性一区二区三区 | 欧美黑人国产人伦爽爽爽 | 欧美精品成人 | 免费三级网 | 亚洲精品无人区 | 91人人爽 | 国产精品无码专区在线观看 | 精品久久国产 | 99精品久久久久久久 | 欧美精品在线免费 | 国产精品永久免费 | 99视频在线免费观看 | 国产在线精品一区二区 | 国产精品不卡 | 日韩免费高清视频 |