您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關ASP.NET中怎么創建一個GeoRSS訂閱源,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
實現 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 訂閱源。
rssOutput.AppendLine(" rssOutput.AppendLine("xmlns:georss='http://www.georss.org/georss'") rssOutput.AppendLine("xmlns:gml='http://www.opengis.net/gml'>") rssOutput.AppendLine("") rssOutput.AppendLine("Store Locations") rssOutput.AppendLine("") rssOutput.AppendLine("" + System.DateTime.Now + "") rssOutput.AppendLine("") rssOutput.AppendLine("SQL Server") rssOutput.AppendLine("")
6. 在注釋 Open a connection to the database下,添加以下代碼。
sqlConn.Open()
7. 在注釋 Use the GetStoresGML stored proc to get all stores by default下,添加以下代碼。
spName = "GetStoresGML"
注意:默認情況下,對此 HTTP 處理程序的請求將調用 GetStoresGML 存儲過程,并返回包含所有商店的 GeoRSS 訂閱源。
8. 在注釋If a searchFrom parameter is provided, use GetNearbyStores and add the provided lat and lon coordinates as parameters下,添加以下代碼。
Dim searchFrom As String = context.Request.QueryString("SearchFrom") If Not searchFrom Is Nothing Then spName = "GetNearbyStoresGML" Dim latLong() As String = Split(searchFrom, ",", 2) cmd.Parameters.Add(New SqlParameter("Lat", latLong(0))) cmd.Parameters.Add(New SqlParameter("Long", latLong(1))) End If
注意:如果請求包含名為 SearchFrom 的參數(假定它包含以逗號分隔的緯度和經度坐標對),處理程序將從此參數提取緯度和經度值,并使用 GetNearbyStoresGML 存儲過程返回 GeoRSS 訂閱源,訂閱源中包含請求的搜索點周圍方圓 100 km 范圍內的商店。
9. 在注釋 Specify the stored procedure name as the command text(將存儲過程名稱指定為命令文本)下,添加以下代碼。
cmd.CommandText = spName
10. 在注釋 Create an element for this row下,添加以下代碼來為存儲過程的結果中的每一行都創建一個 標記。
rssOutput.AppendLine("")
11. 在注釋 Use columns 0 and 1 for the title and description下,添加以下代碼以根據存儲過程返回的數據創建 ", geomRdr.GetValue(0)))
rssOutput.AppendLine(String.Format("{0}", _ geomRdr.GetValue(1)))
12. 在注釋 Add a element下,添加以下代碼來為此條目創建 元素。
rssOutput.AppendLine("")
13. 在注釋 Get the geography instance GML from column 2下,添加以下代碼,以從存儲過程結果中檢索 GML 數據。
gml = geomRdr.GetValue(2).ToString()
14. 在注釋 Add the elements to the output XML下,添加以下代碼以向 GeoRSS 訂閱源添加 GML 數據。
rssOutput.AppendLine(gml)
15. 在注釋 Close and elements下,添加以下代碼。
rssOutput.AppendLine("") rssOutput.AppendLine("")
16. 在注釋 Close the document and send it as the response下,添加以下代碼以完成 GeoRSS 訂閱源并將其發送給請求人。
rssOutput.Append("") context.Response.Write(rssOutput.ToString())
17. 保存 GeoRSSHandler.vb。
注冊 HTTP 處理程序
1. 在解決方案資源管理器中,雙擊 web.config 在編輯器中打開它。
2. 在 部分中,在注釋 Register the GeoRSSHandler for .georss requests下,添加以下 XML。
<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。
上述就是小編為大家分享的ASP.NET中怎么創建一個GeoRSS訂閱源了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。