2011-03-22 39 views
0

我正在WPF应用程序中,这是一个网站的桌面计数器部分。如何将webrequest从WPF应用程序发送到默认浏览器?

这个想法是应用程序应该具有网站所具有的相同功能,但是对于应用程序的第一个发行版,并非所有功能都可用,因此我想在功能上放一个链接可用但希望当用户点击该链接,我想带他们到网站,到该功能的页面。

到目前为止,我可以毫不费力地做到这一点,使用shell命令我可以打开默认浏览器并将请求发送到我需要在网站上的资源。

现在,棘手的部分是,我想使用用户在桌面应用程序中使用的凭据来与网站进行身份验证,所以用户不必再次进行身份验证,我在考虑将身份验证发送在一个标题,但我不知道我该怎么做,我怎么能从我的应用程序发送头到Web浏览器。

任何想法如何做到这一点?

该网站正在使用表单身份验证。

谢谢。

回答

0

您可以尝试将您的表单身份验证cookie作为webrequest的一部分传递。

Uri uri = new Uri("http://services.mysite.com/document/documentservice.svc"); 
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(uri);  

HttpCookie cookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName]; 
Cookie authenticationCookie = new Cookie(FormsAuthentication.FormsCookieName, cookie.Value, cookie.Path, HttpContext.Current.Request.Url.Authority); 

webRequest.CookieContainer = new CookieContainer(); 
webRequest.CookieContainer.Add(authenticationCookie); 
WebResponse myResponse = webRequest.GetResponse(); 
Stream stream = myResponse.GetResponseStream(); 

尝试this链接

+0

,如果你浏览的网站WPF应用程序内部,而是你如何可以通过cookie来默认浏览器也没关系? – Roberto 2015-10-26 13:39:30

相关问题