我的任务是创建一个小的.net应用程序,通过RSS提要从数据库提供内容。内容将以固定间隔(例如每30秒左右)从DB更新。这将是我第一次使用RSS,我的网络应用技能有限。但是,DB和DA层非常好,所以我不是从头开始。
我的问题是:
我想将内容更新过程与请求服务过程分离。我最好编写一个独立的Windows服务来处理与数据库相关的内容检索和XML转换,或者在Web应用程序中使用后台进程可以吗?
一个。如果答案是专用的WS,那么当服务尝试在提供页面的同时更新页面时,线程阻塞会成为一个问题吗? 湾如果答案是BG进程,有没有办法在后台进程和主应用程序之间共享内存对象中的集合或某种类型,以便在客户端请求时,XML是从集合中的对象实时生成的?
所以SOAP / REST WS是内容交付的强大选择,还是我最好使用rss.aspx的完整Web应用程序?
要将内容转换为XML,我应该使用SyndicationFeed类还是某种形式的XML模板替换?有一些非常有限的字段(4-8)会定期更新,因此XML相对较小。
很抱歉,如果我在这个地方似乎到处都是。我只是想真正想到一个可扩展且设计良好的强大解决方案。在此先感谢,请知道我对此项目的任何想法/想法表示感谢。
答案 0 :(得分:0)
我有some experience构建RSS系统,所以让我试着回答你的问题。
如果通过解耦意味着“不同步地生成XML文件”,那么它取决于您拥有多少个不同的Feed。根据您描述的内容,您将根据对数据库的查询来提供订阅源。如果这些查询具有参数,那么您将拥有尽可能多的不同供稿,您可能有查询并且离线生成它们将无效。一般来说,我认为大多数人会根据他们的要求“即时”生成Feed。
我对rss.aspx并不熟悉,所以我无能为力:)
使用您自己的XML模板的好处是,您可以在某些时候使用其他名称空间扩展(XML中的X!)您的模式,如果您将来需要这样做。