基于Web和Silverlight的RSS文件管理应用

在服务器上使用Web应用程序管理RSS文件时,本文介绍的应用非常有用。这个应用程序托管在CodePlex上,地址为 。这是三部分文章中的第二部分,将描述这个应用程序:

ASP.NET界面

这个应用程序将使用前面描述的核心组件来提供一个Web界面来管理RSS文件。首先,让放置一个小的网站地图,包括主要页面:

  • 首页:查看用户负责的文件
  • 查看RSS:负责查看特定的RSS文件
  • 管理RSS文件
  • 管理角色
  • 管理用户角色
  • 管理用户

前三个优先级最高,因为ASP.NET提供了后三个的Web界面,但仍然在同一个Web应用程序中提供它们是很好的。

这个网页将用于查看和编辑一个RSSFeed对象,因此将使用对象数据提供程序将RSSFeed对象绑定到ASP控件。对于XML数据源,通常可以使用ASP.NET附带的XMLDataSource,使用对象数据源有几个原因:

  • 它更干净:从工程角度来看,将UI与应用程序逻辑解耦是很重要的。使用这样的控件会鼓励不良实践,因为将不再有一个视图(网页)与业务逻辑分离。认为微软在XAML(WPF和Silverlight)以及ASP MVC方面的举措清楚地表明了一种负罪感。现在,他们正试图鼓励开发人员开始以不同的方式思考,并劝阻他们使用易于使用的拖放数据源,这些数据源本意是使他们的生活更轻松,但长期来看却使它变得更难,应用程序难以测试和维护。
  • 能够重用不同视图中的绑定逻辑,这让回到了第一个原因。

现在必须构建一个对象数据提供程序,它将封装核心组件提供的功能。对象数据提供程序应该有五个主要方法:获取、获取全部、更新、删除和添加。因此,实现了RSSObjectDataProvider类,这个类将使用RSSFeedXLinqController来加载和保存Feed对象,这个类包含:

  • 伪属性,暴露Feed对象的属性
  • 使用RSSFeedXLinqController的加载和保存方法
  • CRUD方法,简单地实现这些操作,直接反映在通用的RSSItem列表上

这个提供程序的代码相当简单。就是这样。

查看RSS网页包含与数据提供程序属性绑定的文本框、数据网格和详细信息视图,其中包含HTML编辑器,用于描述RSS项,直接绑定到数据提供程序。尽量使代码后端尽可能简单,但仍然需要为对象数据提供程序提供Feed的URL,这将从会话变量中获取。还缓存了对象数据提供程序以提高性能。这个页面和整个应用程序都使用AJAX来提供更好的用户体验,所有这些控件都嵌入在一个UpdatePanel中。

至于其他Web页面,如管理文件和管理角色,都是使用LinqDataProvider完成的,它使用从相应数据库表生成的实体框架数据上下文。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485