0

MVC アプリケーションを指す仮想ディレクトリを持つ IIS に .net Web サイトがあります。RAzor ビュー ヘッダーで sitemaster.master を再利用しようとしています。

以下のコードは、Razor ビュー _hearder_it.cshtml にあります。

sitemaster.master のみを持つ test.aspx ページで StreamReader を実行しています。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

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 に答える