ASP.NET实例教程:订阅 GeoRSS 订阅源

在此练习中,您将在 ASP.NET Web 应用程序中实现 HTTP 处理程序以返回 GeoRSS 订阅源。GeoRSS 是在 RSS 订阅源中包含地理空间数据时所用的一个标准,它定义了一种名为 GeoRSS GML 的特定格式,用来在订阅源中包含 GML 格式的数据。客户端应用程序可以订阅 GeoRSS 订阅源,订阅方式与订阅常规 RSS 订阅源相同。可以轻松地将 GeoRSS 格式的数据导入 Microsoft Virtual Earth VEMap 控件中。

注意:您可以从 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 订阅源。



以下为引用的内容:

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。 

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索存储过程
, 注释
, 程序
, 代码
, 订阅
, 处理
, 请求订阅
, #appendline
, 添加源
订阅源
georss、rss源地址订阅大全、rss订阅源网址、rss订阅源、rss订阅源推荐,以便于您获取更多的相关知识。

时间: 2024-11-08 23:27:51

ASP.NET实例教程:订阅 GeoRSS 订阅源的相关文章

ASP AppendToLog实例教程

ASP AppendToLog实例教程 该AppendToLog方法增加了一个字符串的结尾服务器日志条目的这一请求.您可以调用此方法多次在一个脚本.每当它被称为将追加指定字符串的日志条目. 语法 response.AppendToLog string 参数说明string :必需.文本附加到日志文件(不能包含任何逗号字符)   下面我们来看看reaponse.appendtolog实例教程吧.   <%Response.AppendToLog "My log message"%&

asp cookie 实例教程

asp cookie 实例教程,以前自己第一次时别人网站就的提示欢迎你访问本,第二次访问时就显示欢迎你回来,这种开始搞不明白,现在才知道是用cookie实例的,下面我们就一个用cookie实例用户访问记录的代码. <% dim numvisits response.cookies("NumVisits").Expires=date+365 numvisits=request.cookies("NumVisits") if numvisits="&qu

asp 函数与asp过程实例教程

asp 函数与asp过程提供了一种方法来创建重新编程代码可用模块和避免重写的代码每次您执行特定任务同一个块.如果你没有任何职能/ ASP页中的程序,ASP页从上到下执行时,ASP解析引擎只是处理从开始到结束的整个文件.的ASP / VBScript函数和程序,然而,只有在所谓的执行,不符合其余的代码内联.一个函数或子过程可以重复使用的需要,从而节省您的时间和一个不那么喜欢成群结队漂亮的网页制作教程了很多次. 你可以写在ASP中的职能相似的方式来写他们在Visual Basic.这是良好的编程习惯

ASP.NET实例教程:51job网站地区选择功能

最终效果图: 难点: 定位,其实不难, 取得父元素(省)的位置,然后设置 市(初始隐藏)的位置 = 父元素位置偏移n个px id为pop 的div是模式窗口 说一下流程吧 1.ajax读出所有省市 2.市放在一个div里面,初始是隐藏的,然后给每一个省加一个onclick事件,控制这个省的市显示还是隐藏 3.完成. 说得简单了点,不过看代码就看明白了!有不明白可以在这里留言,我会关注! html代码 <%@ Page Language="C#" AutoEventWireup=&

ASP.NET实例教程:创建数据透视表

代码:Pivot.zip 数据透视表提供的数据三维视图效果,在Microsoft Excel能创建数据透视表,但是,它并不会总是很方便使用Excel.您可能希望在Web应用程序中创建一个数据透视报表.创建一个简单的数据透视表可能是一件非常复杂的任务.所以,我打算不但为你提供一个非常有用的工具创建简单和高级的数据透视表,而且为你移除一些笼罩他们的神秘面纱. 目标是:我们想要有能力将datatable中的二维的数据转换成三维视图. 在大多数情况下,你会从数据库的查询数据填充数据表,例如 SELECT

asp cookies实例教程

想利用COOKIE记录当前用户刚才是否发了贴, MyVar=Request.Cookies("starttime") if  myvar="" then Response.Cookies("starttime")=time() Response.COOKIES("starttime").Expires=DateAdd("n",1,now()) else response.Write("您提交的信息

asp fso教程:asp move文件移动实例教程

move移动方法移至指定的文件或文件夹从一个位置到另一个位置. 语法 FileObject.Move(destination) FolderObject.Move(destination) Parameter Description destination Required. Where to move the file or folder. Wildcard characters are not allowed 对文件操作简单例子. <% dim fs,f set fs=Server.Crea

ASP fso Files 实例教程

ASP fso Files 实例教程 档案收集返回一个收集的所有文件中指定的文件夹. 语法 FolderObject.Files 例如 <% dim fs,fo,x set fs=Server.CreateObject("Scripting.FileSystemObject") set fo=fs.GetFolder("c:test") for each x in fo.files 'Print the name of all files in the tes

ASP Browser 组件实例教程

ASP Browser 组件实例教程 浏览器功能的ASP组件 该浏览器功能的ASP组件创建一个BrowserType对象确定的类型,功能和版本号码每个浏览器访问您的网站. 当浏览器连接到一个服务器,一个HTTP用户代理头也发送到服务器.这头包含有关浏览器(如浏览器类型和版本号) .该BrowserType对象然后比较中的信息与信息标题在一个文件中的服务器上所谓的" Browscap.ini " . 如果有一场比赛之间的浏览器类型和版本号码发送的标题和信息的" Browserc