seb*_*mez 7 architecture asp.net rss performance syndication
我有一个Web应用程序(asp.net)需要有一个feed.所以我使用System.ServiceModel.Syndication命名空间来创建创建"新闻"的函数.事情就是每当有人调用它时执行它,我应该只使用它来创建一个xml文件并使我的rss url指向该文件?
什么是最好的方法?
编辑:也许这就是我错了.我没有使用处理程序......我只是使用WCF服务返回带有数据的Rss20FeedFormatter.
在我实现RSS的过去,我在HttpContext.Current.Cache中缓存了RSS数据.
RSS数据通常不必经常更新(例如,每分钟一次就足够了),因此您只需每分钟实际访问一次DB,而不是每次有人请求您的RSS数据.
以下是如何使用缓存的示例:
// To save to the cache
HttpContext.Current.Cache.Insert("YourCachedName", pObjectToCache, null, DateTime.UtcNow.AddMinutes(1), System.Web.Caching.Cache.NoSlidingExpiration);
// To fetch from the cache
YourRssObject pObject = HttpContext.Current.Cache[("YourCachedName"] as YourRssObject : null;
Run Code Online (Sandbox Code Playgroud)
您还可以在ashx中设置以下内容:
context.Response.Cache.SetExpires(DateTime.Now.AddMinutes(1));
Run Code Online (Sandbox Code Playgroud)
这将使您的RSS页面提供缓存版本,直到它过期.这需要更少的资源,但如果您有其他使用RSS数据访问层调用的东西,那么这将不会缓存该数据.
您还可以通过设置以下内容,根据您的RSS可能收到的查询参数进行缓存:
context.Response.Cache.VaryByParams["YourQueryParamName"] = true;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3051 次 |
| 最近记录: |