aspx把html写入response页面,关于C#:从本地ASPX页面获取HTML响应

我有本地.aspx页面来生成HTML消息。 但是当我尝试使用此代码请求页面时

HTML = new WebClient().DownloadString("http://localhost/MySite/HTMLEmail.aspx")

它返回HTML,但不包含通过Session传递的数据。 如果我尝试直接从浏览器请求页面,它将显示带有已传递数据的html页面。

那么,为什么当我以编程方式请求页面时,它没有用数据填充HTML消息?

好吧,如果在会话状态下跟踪数据,那么最初创建该数据的是什么?如果您所做的只是向一个页面发出单个请求,那么就没有要跟踪的状态,那么为什么会话中仍然会有任何内容?

这个qn与您要寻找的类似吗? stackoverflow.com/questions/6214936/

@David我从其他页面设置了会话数据,当它发送消息时,我请求该页面。

@dotfreelancer:您如何与那些"其他页面"进行交互?问题中的代码仅显示对单个页面的单个请求。如果需要显示更多相关代码,请显示它。并且如果问题是您的Web应用程序未正确跟踪会话状态,则您可能需要集中精力调试该应用程序,而不是调用它的应用程序。

@David其他页面代码与我的问题无关。我正在尝试从同一应用程序获取aspx页面的响应。

@dotfreelancer:那么您的问题毫无意义。跨多个页面请求跟踪会话状态。因此,如果您的应用程序没有跟踪会话状态,那么根据定义,多个页面请求是相关的。如果您仅向一个页面发出一个请求,则没有会话状态。

@David youre对..我的错误是我认为本地请求将通过我来自浏览器的请求使用生成的数据。

it returns the HTML without the passed data through Session

如果这是唯一发出的请求,则不是。会话用于跟踪特定客户端发出的多个请求中的数据。 (有效地为该客户端创建服务器端"会话"。)如果您一次仅请求一个页面,那么首先就没有要跟踪的会话状态。

如果您正在发出其他请求(问题中未显示),并且服务器端应用程序未正确跟踪会话状态,则问题可能出在服务器端应用程序中,而不一定在客户端中。

如果您要以其他客户端的身份发出其他请求,那么那是完全不同的会话。不同的客户端无法访问彼此的会话状态(出于相当明显的原因)。

我不知道会话状态是如何创建或维护的。

如果您的数据使用由较早请求创建的会话变量,则需要遵循

通过使用一种特殊的webclient扩展类,也可以与webclient请求序列。

您可以关注此帖子。

如何使用WebClient登录网站?

啊哈,所以WebClient类不知道会话状态!

@dotfreelancer:没有客户端知道会话状态。 在服务器上跟踪会话状态。

aha Web客户端不支持cookie。在服务器上可以跟踪会话状态,但可以帮助cookie。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值