HELP!!!!!!!!!! (50分)

  • 主题发起人 主题发起人 3h
  • 开始时间 开始时间
3

3h

Unregistered / Unconfirmed
GUEST, unregistred user!
先看一段代码,是ISAPI里存取Cookies的:
procedure TWebModule1.SetCookies(Var UInfo: TUserInfo);
Var
Cookies: TStringList;
begin
Cookies := TStringList.Create;
Try
With Cookies, UInfo do
begin
Add('UserName=' + UserName);
Add('UserID=' + IntToStr(UserID));
end;
UInfo.PResponse^.SetCookieField(Cookies, '127.0.0.1', '/', Now+0.0035, False);
Finally
Cookies.Free;
end;
end;

这部分工作正常,得到的COOKIES内容也对(从COOKIES文件夹里看到的)。
立即执行:

procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
Var
CookiesList: TStringList;
s:string;
i:integer;
begin
CookiesList := TStringList.Create;
Request.ExtractCookieFields(CookiesList);
for i:=0 to cookieslist.Count-1 do
s:=s+ CookiesList
response.Content := s;
cookieslist.Free;
end;

总得到空值,为什么?难道取COOKIES是另有它法???
 
本次写的cookie本次是接不到的!!!
不知是否是这个问题。
看看顺序是否有误!
 
不是的。
前面的在x.dll/login执行,后面是/userlist,不会同次,顺序正确。:)
 
搞定了。原来是我自己犯了一个错误。
我在SetCookies之后调用一个
Response.SendRedirect('/main.htm')
原来这个方法会导致COOKIES头没有发送。
不调用这个方法COOKIES就能被正确写往客户端。
之前GetCookies没有结果的原因是因为没写Cookies,
但在测试SetCookies时没有加SendRedirect()下去所以能得正确结果。

尽管是自力更生的还是给分好了。以资鼓励。:)
 
后退
顶部