0

我在 IIS 上有一个 .net 网站,它有一个指向 MVC 应用程序的虚拟目录。我正在尝试在 RAzor 视图标题上重用 sitemaster.master。

我在 Razor 视图 _hearder_it.cshtml 上有以下代码。

我在 test.aspx 页面上做一个 StreamReader,它只有一个 sitemaster.master。req.GetResponse 确实从站点管理员(菜单栏等)返回流。但是 sitemaster.master 有 Request.Cookies 并且 cookie 从来没有值。我知道它们应该有价值,因为我已经在 mvc 应用程序之外进行了测试。cookie 改变了站点管理员的视图,这就是我需要它的原因。

//这段代码确实返回了流。

WebRequest req = HttpWebRequest.Create(url );
req.Method = "GET";

string source;
using (StreamReader reader = new StreamReader(req.GetResponse().GetResponseStream()))

source = reader.ReadToEnd();


Response.Write(source);  // I get HTML result back from my sitemaster.master.
4

2 回答 2

0

Cookie 在请求标头中发送,而您不会在此处将任何 cookie 添加到您的网络请求中。这是一个可能对你有帮助的帖子

于 2013-04-15T17:09:33.387 回答
0

我在 CookieContainer 中添加了 cookie。此代码运行成功。
此代码位于 Razor 视图 _header_it.cshtml 中:

 @{
       string userTyp3 = Request.Cookies["MY_USERTYPE"] != null ? Server.UrlDecode(Request.Cookies["MY_USERTYPE"].Value) : "";

        CookieCollection _CookieCollection2  = new CookieCollection();

        HttpWebRequest _request2 = (HttpWebRequest)WebRequest.Create("http://MySite_TEST/it/test.aspx");
        _request2.Method = "GET";
        _request2.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
        _request2.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)";
        _request2.Referer = "http://MySite_TEST/it";
        _request2.KeepAlive = true;

        //Here is auth cookie, works fine
        _request2.CookieContainer = _cookieContainer;
        _request2.CookieContainer.Add(( new Cookie ( "MY_USERTYPE", userTyp3 , "/", "MySite_TEST") )) ;
        _request2.Headers.Add(HttpRequestHeader.CacheControl, "no-cache=set-cookie");

        HttpWebResponse _response2 = (HttpWebResponse)_request2.GetResponse();
        StreamReader _reader2 = new StreamReader(_response2.GetResponseStream());
        Response.Write(_reader2.ReadToEnd());  // 

        _response2.Close();
        _reader2.Close();       

}

我在此 URL 上使用了示例:

 http://stackoverflow.com/questions/2476092/login-website-curious-cookie-problem?rq=1]

谢谢

于 2013-04-16T11:46:38.527 回答