【发布时间】:2011-07-06 15:41:22
【问题描述】:
我正在开发一个桌面应用程序,该应用程序可以自动化众多网站并处理返回的数据。此应用程序将在服务器上运行,用户将连接到远程桌面。当服务器没有启用 cookie 时,自动化会中断,我不想让应用程序停止工作,而是想检查服务器设置并告诉用户它为什么不工作。
为此,我决定创建一个 ASP.NET Web 服务。我认为 Web 服务可以存储 cookie,然后尝试访问数据。如果找到数据,则启用 cookie,一切顺利。
我已经阅读了大量的教程,例如:http://www.csharphelp.com/2006/05/c-and-cookies/,其中解释了如何通过 ASP.NET 存储和访问 cookie。然而,所有这些都使用一个网站。用户单击按钮以生成请求,然后 Web 服务可以发送响应。我不知道如何在没有网站的情况下使该过程正常工作,并且我也不希望自动化我自己托管的网站。我觉得我应该能够在我的网络服务上运行一个方法并且它应该可以工作。
有谁知道如何做到这一点?我想要一个可以处理请求和响应的 Web 服务,这样我就可以创建、存储和访问 cookie。感谢您提供的任何帮助。
内森·托恩奎斯特
编辑:
我正在开发一个数据库驱动的应用程序。其中一些是自动化网站,用户在其中输入一些数据,然后程序打开一个 webBrowser 控件,填写表格,然后格式化生成的数据。我想测试是否根据用户的安全权限启用了 cookie,以便我可以禁用自动化并允许用户在需要时自行填写数据。大多数网站都需要 cookie 才能登录。
这将在各种版本的 Windows Server 上运行。默认情况下,我认为 webBrowser 控件与 Internet Explorer 具有相同的安全设置。
【问题讨论】:
-
此桌面应用程序是否使用 WebBrowser 控件来自动化站点?您是说如果 WebBrowser 控件未启用 cookie,则应用程序会中断?为什么不启用它们?
-
真的不清楚你在做什么。 Cookie 是客户端(通常是浏览器)而非服务器的功能。如果您正在编写代替浏览器的代码,则由您来确保您的代码正在处理 cookie。
-
我只是众多开发人员中的一员。应该启用 Cookie,但取决于公司,与我一起工作的人可能是也可能不是网络管理员。通过测试是否启用了 cookie,我不仅可以防止自动化无休止地中断,而且还允许用户查看问题所在,以便进行修复。 IE,我无权启用它们。我希望网络管理员能够修复它,而不是每次出现故障时都会收到错误报告。
-
所有用户都使用同一个浏览器吗?哪一个?
-
我相信这都是基于 Internet Explorer 的。 cookie 权限是由服务器管理员设置的。
标签: c# asp.net web-services cookies client-server