我想做一个切换用户Cookie的程序
首先保存若干已登陆用户的COOKIE到数据库,然后通过
string str = GetCookieByUserId(comboBox1.Text);
webBrowser1.Document.Cookie = str;
将数据库中的Cookie赋值到webBrowser1.Document.Cookie 我看了webBrowser1.Document.Cookie 的说明是:
Get or set the HTTP cookies associated with the document我可以Get但是不能SET请问有达人碰到此类问题吗?我看了MSDN好像只能GET.
请问如何解决这个问题?谢谢
顺便散分.出差1各月了还没回去,失败啊

解决方案 »

  1.   

    只能get, 写的操作已经被封装了。不过腻可以pinvoke[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
    public static extern bool InternetSetCookie(string lpszUrlName, string lbszCookieName, string lpszCookieData);
    InternetSetCookie(url, "cookieName", "cookieValue");
    // navigate
    webBrowser.Navigate(url);
      

  2.   

    LS 的大虾,按照你的方法,是可以赋值到COOKIE,不过刷新之后并没有切换到新的ID下面
    您有邮箱吗?有空帮我看看程序,很简单的.麻烦了
      

  3.   

    WebBrowser.Document 属性获取一个 HtmlDocument,它表示当前显示在 WebBrowser 控件中的网页。 命名空间:System.Windows.Forms
    程序集:System.Windows.Forms(在 system.windows.forms.dll 中)C# 
    public HtmlDocument Document { get; }
    是只能get的。
     
      

  4.   

    LZ可以试一下:
        public partial class WebBrowserControl : Form
    {
    private String url;[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
    public static extern bool InternetSetCookie(string lpszUrlName, string lbszCookieName, string lpszCookieData);public WebBrowserControl(String path)
    {
    this.url = path;
    InitializeComponent();// set cookie
    InternetSetCookie(url, "JSESSIONID", Globals.ThisDocument.sessionID); // navigate
    webBrowser.Navigate(url); 
    }
    ...
    }
      

  5.   

    一个简单的方法,直接修改C:\Documents and Settings\当前登录用户\Cookies目录下对应的文件就可以了。
      

  6.   

     Globals.ThisDocument.sessionID是什么意思啊