postanowiłem ponownie napisać pytanie, znalazłem pewne informacje na temat sposobu osiągnięcia powyższego: http://msdn.microsoft.com/en-us/library/aa289495%28v=vs.71%29.aspxJak sprawdzić, czy przeglądarka ma włączone pliki cookie w aplikacji internetowej?
Jednak moim problemem jest to, że staram się robić wszystko, co na razie Page_Load
z Login.aspx.cs
.
Początkowo wygląda na to, że działa poprawnie, dopóki nie spróbuję się zalogować, wprowadzając moje poświadczenia i klikając przycisk Zaloguj. Wtedy całe piekło pęka i mam niekończącą się pętlę. Ciągle wraca tam iz powrotem między Page_Loads na Login.aspx.cs
i TestForCookies.aspx.cs
. . Za każdym razem rośnie Przekierowanie URL innego "?AcceptCookies=1
”Czy istnieje obejście tego
Login.aspx.cs: Kod
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
if (Request.QueryString["AcceptsCookies"] == null)
{
Response.Cookies["TestCookie"].Value = "ok";
Response.Cookies["TestCookie"].Expires = DateTime.Now.AddMinutes(1);
Response.Redirect(BasePage.ResolveUrl("~/Common/TestForCookies.aspx?redirect=" + Server.UrlEncode(Request.Url.ToString())));
}
else
{
LoginBox.InstructionText = "Accept cookies = " + Request.QueryString["AcceptsCookies"];
}
}
}
TestForCookies.aspx.cs:
protected void Page_Load(object sender, EventArgs e)
{
string redirect = Request.QueryString["redirect"];
string acceptsCookies = null;
// Was the cookie accepted?
if (Request.Cookies["TestCookie"] == null)
{
// No cookie, so it must not have been accepted
acceptsCookies = "0";
}
else
{
acceptsCookies = "1";
// Delete test cookie
Response.Cookies["TestCookie"].Expires = DateTime.Now.AddDays(-1);
}
string url = redirect + "?AcceptsCookies=" + acceptsCookies;
Response.Redirect(url);
}
¿Możesz pisać kod? –
W rzeczywistości cały kod można znaleźć w dokumencie, z którym się łączyłem. – KoturB