2010-02-13 123 views
1

我有以下结构:发送浏览器cookie到Web服务

1)客户端登录到ASP.NET网站(www.site.com)在会议3000分钟过期,无cookie设置为false。

2)经过一段时间客户端在浏览器中打开Activex。 Activex通过.NET托管类连接到会话启用Web服务(www.site.com/Service.asmx)。

我需要做的是发送cookies,浏览器通过网站验证通过。并且如果这样的cookie不存在,则该用户不被认证,并且将禁止与Web服务的连接。

我知道我需要使用System.Net.CookieContainer类,但是如何将此broser cookie设置为此类?

  localhost.WebService1 web = new localhost.WebService1(); 
     System.Net.CookieContainer cookie = new System.Net.CookieContainer(); 
     web.CookieContainer = cookie; 

将我带入全新的会议。

请帮忙。

最好的问候, 丹尼。

回答

1

ActiveX控件是一个完全独立的过程,每次都会创建自己的会话。即使它使用与其容器相同的浏览器,它基本上就像运行单独的应用程序来连接到Web服务一样。为了解决这个问题,一个想法是将某种时间敏感的键/ Guid传递给ActviceX控件(通过javascript发送给ActiveX控件)此键(保存在数据库中,由页面创建)可以传递给WebService和验证?

+0

嗨马克, 谢谢你的答复,你说得对。这完全分开的过程。不过请看看YouTube。当您嵌入youtube控件并且想要查看私人电影时,只有在使用google/youtube帐户登录之前,您将无法进行流式处理,当然,youtube插件和浏览器是不同的流程。所以这是我想要达到的目标。 – 2010-02-14 15:57:57