【问题标题】:asp.net httphandler recursionasp.net httphandler 递归
【发布时间】:2011-03-25 22:21:23
【问题描述】:

我正在为 .net 使用 RssToolkit。我正在使用 Httphandler 返回 rss 提要。 feedID 作为查询字符串参数传入。如果没有传入参数,我希望处理程序返回一个提要,该提要是处理程序可以处理的一些提要的集合。我想知道的是,处理程序可以递归吗?它是否可以使用查询字符串参数多次调用自身并检索多个提要,然后返回编译结果。还是httpHandler不能这样递归?

例如

如果你去 rss.ashx 它会调用 rss.ashx?c=feed1 和 rss.ashx?c=feed2 其中每一个都会返回一个 RSS 提要,并将它们编译成一个聚合并以 rss.ashx 的形式返回。

【问题讨论】:

  • 我同意@DustinDavis,为什么要这样做?为什么不让您的处理程序确定它是否具有查询字符串,然后如果没有聚合所有提要则获取该提要?为什么要增加多次调用的开销?如果您已经在处理程序中,那么为什么要退出只是为了调用自己呢?如果没有给出查询字符串,我认为您只想从处理程序中多次调用 GetFeed() 方法,然后返回结果。

标签: asp.net httphandler


【解决方案1】:

如果您正在对 Web 服务器进行新调用,它会(在某种意义上),但这并不是真正的递归。但为什么要这样做?只需让您的处理程序确定它需要做什么,然后执行它。如果 querystring == null 则 c=... 如果不是,则改为执行重定向

【讨论】:

  • 实际上,我听取了您的建议并抽象了我如何构建我的提要,然后在 else 情况下将它们全部放在一起(所以我构建提要而不是调用它)。不过,我仍然很好奇,如果处理程序可以调用自己,但这不再是问题。当我这样做时,它不会返回任何“递归”结果。
猜你喜欢
  • 2012-09-06
  • 2011-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-09
  • 2011-06-05
  • 2010-11-14
相关资源
最近更新 更多