因此请求ASP.net MVC控制器/动作。这有一个相关的会话。部分操作我们实例化WebClient对象并调用同一站点上的资源。
然而,尽管它是同一个站点,同一个应用程序池,因为WebClient创建了一个新请求,它具有不同的会话。 (我知道你的想法,如果它在同一个应用程序池,同一个站点,为什么需要WebClient)。我已经把这些细节留给了水不浑浊,但WebClient有一个原因。
据我了解,如果可以从原始的Request.Cookies集合中为WebClient分配cookie,那么ASP.net将能够根据现有的cookie查找现有的Session。
所以我猜有两个问题:
更新
我已经查看并尝试了Using CookieContainer with WebClient class和Sending cookies using HttpCookieCollection and CookieContainer,但我找不到合适的解决方案。
我们有一个捆绑的Umbraco解决方案和asp.net MVC,我们正在使用webclient向Umbraco请求页面。在我的研究中,我还发现可能存在其他可能导致cookie无法正常工作的事实,如上所述。所以我想第一个业务的顺序是要找出关于cookie的全部内容是否允许获得原始会话?或者,如果有更好的方法来处理我们正在做的事情?
答案 0 :(得分:1)
也许你可以尝试这里显示的实现:
Sending cookies using HttpCookieCollection and CookieContainer
它将传入的cookie复制到传出的外部请求。
但是,该实现是使用HttpWebRequest
。如果你真的需要使用WebClient,那么这可能是有用的:
Using CookieContainer with WebClient class