C# 有没有办法让ClientHttp堆栈使用浏览器cookie?

C# 有没有办法让ClientHttp堆栈使用浏览器cookie?,c#,silverlight,cookies,httpwebrequest,clienthttpstack,C#,Silverlight,Cookies,Httpwebrequest,Clienthttpstack,假设用户已经登录到远程系统,所以他有一个与他的用户名和访问他的私人数据相关联的会话。现在有一个Silverlight应用程序,它试图通过HttpWebRequest(ClientHttp堆栈)与服务器通信。有没有办法将用户会话传递到Silverlight应用程序?也许可以通过浏览器共享cookie 更新: 网络上到处都有代码片段,这些代码片段展示了如何通过InternetGetCookieEx将HttpOnly Cookie从WebBrowser控件传输到WebRequest(例如)。我还不明白

假设用户已经登录到远程系统,所以他有一个与他的用户名和访问他的私人数据相关联的会话。现在有一个Silverlight应用程序,它试图通过
HttpWebRequest
(ClientHttp堆栈)与服务器通信。有没有办法将用户会话传递到Silverlight应用程序?也许可以通过浏览器共享cookie

更新:


网络上到处都有代码片段,这些代码片段展示了如何通过
InternetGetCookieEx
将HttpOnly Cookie从
WebBrowser
控件传输到
WebRequest
(例如)。我还不明白的两件事是:是否可以在浏览器silverlight应用程序中使用此功能,以及是否可以将cookie从运行silverlight应用程序的浏览器类似地传输到silverlight应用程序本身?

您无法访问表单验证cookie或ASP.NET会话cookie,因为这些cookie仅用于会话Cookie(使用HttpOnly标志发出)表示客户端脚本无法访问它们。如果要实现这一点,可以让服务器将cookie的值作为生成的标记中的参数显式传递给SL应用程序。

您无法访问表单验证cookie或ASP.NET会话cookie,因为这些cookie是仅会话cookie(使用HttpOnly标志发出)这意味着客户端脚本无法访问它们。如果您想实现这一点,可以让服务器将cookie的值显式地作为生成的标记中的参数传递给SL应用程序。

web上以及其他地方都有代码片段,说明如何通过InternetGetCookieEx(例如)将HttpOnly cookies从WebBrowser控件传输到WebRequest。我还不明白的两件事是——这是否可以在浏览器silverlight应用程序中使用,以及Cookie是否可以类似地从运行silverlight应用程序的浏览器传输到silverlight应用程序本身?不,这不能在silverlight应用程序中使用。
InternetGetCookieEx
是一个Win32函数,要调用该函数,您需要获得执行P/Invoke调用的授权,这在Silverlight中是绝对不可能的,当然,除非您已将此Silverlight应用程序作为浏览器外应用程序安装在客户端桌面上。这可以在富客户端应用程序(例如WPF)中使用。web上有一些代码片段等,展示了如何通过InternetGetCookieEx(例如)将HttpOnly Cookie从WebBrowser控件传输到WebRequest。我还不明白的两件事是——这是否可以在浏览器silverlight应用程序中使用,以及Cookie是否可以类似地从运行silverlight应用程序的浏览器传输到silverlight应用程序本身?不,这不能在silverlight应用程序中使用。
InternetGetCookieEx
是一个Win32函数,要调用该函数,您需要获得执行P/Invoke调用的授权,这在Silverlight中是绝对不可能的,当然,除非您已将此Silverlight应用程序作为浏览器外应用程序安装在客户端桌面上。这可以在富客户端应用程序(例如WPF)中使用。