我有本地.aspx页面来生成HTML消息。但是当我尝试使用此代码请求页面时
HTML = new WebClient().DownloadString("http://localhost/MySite/HTMLEmail.aspx")
它返回HTML而不通过Session传递数据。如果我尝试直接从浏览器请求页面,它会显示带有传递数据的html页面。
那么为什么当我编程请求页面时,它不会用数据填充HTML消息?
答案 0 :(得分:1)
它返回HTML而不通过Session
传递数据
如果这是唯一的请求,那就不是,但事实并非如此。会话用于跟踪特定客户端发出的多个请求中的数据。 (有效地为该客户端创建服务器端“会话”。)如果您只是一次请求一个页面,那么首先不会跟踪会话状态。
如果您正在进行其他请求(问题中未显示)且服务器端应用程序未正确跟踪会话状态,那么问题可能出在服务器端应用程序,不一定在客户端。
如果您正在将其他请求作为另一个客户,则这是一个完全不同的会话。不同的客户端无法访问彼此的会话状态(原因很明显)。
答案 1 :(得分:0)
我不知道如何创建或维护会话状态。 如果您的数据使用由先前请求创建的会话变量,那么您需要遵循 通过使用特殊类型的webclient扩展类,webclient的请求序列也是如此。 你可以关注这篇文章。 How do I log into a site with WebClient?