问题描述
|
我的ASP.NET Web应用程序使用一个内部RSS Feed,该Feed使用当前登录用户的身份来自定义其内容。 RSS提要由我的应用程序中的标准.ashx处理程序生成。
当我使用“ 0”调用RSS Feed时,会话状态没有得到维护(大概是因为会话ID cookie没有随请求一起发送)。
从登录的用户直接从浏览器地址栏中调用时,RSS Feed可以正常工作。我已经确保我的处理程序实现了“ 1”,以便如果将会话ID传递给服务,则可以访问会话数据。
通过使用Visual Studio调试器,我确定通过XElement.Load访问提要时正在创建一个新会话。
如何加载RSS提要并确保会话状态可用?
解决方法
您可以执行以下步骤:
使用WebClient类以字符串形式加载RSS URL内容。在使用此WebClient类时,请设置Cookie请求标头值与具有会话ID等的当前Web请求Cookie标头相同。
从上面获得的字符串创建String Reader
使用XElement.Load(str_reader)
我希望这能解决您的问题