.Net桌面应用程序与ASP.Net Web应用程序之间的通信

.Net桌面应用程序与ASP.Net Web应用程序之间的通信,asp.net,.net,class,communication,Asp.net,.net,Class,Communication,场景1:工作 在Windows桌面应用程序中,我打开一个浏览器窗口(在ShDocVw.InternetExplorer的帮助下),加载托管站点的页面,并将属性设置为某个值(例如,lblName.Text=“Steve M.”)。现在,使用ShDocVw.InternetExplorer,我可以检查是否存在具有指定名称的浏览器对象。通过这样做,我将防止打开重复的浏览器窗口 场景2:问题 现在,我想做以下几点。 我将通过在Internet Explorer的地址栏中键入地址来打开上一页。因此,它将以

场景1:工作

在Windows桌面应用程序中,我打开一个浏览器窗口(在ShDocVw.InternetExplorer的帮助下),加载托管站点的页面,并将属性设置为某个值(例如,lblName.Text=“Steve M.”)。现在,使用ShDocVw.InternetExplorer,我可以检查是否存在具有指定名称的浏览器对象。通过这样做,我将防止打开重复的浏览器窗口

场景2:问题

现在,我想做以下几点。 我将通过在Internet Explorer的地址栏中键入地址来打开上一页。因此,它将以相同的名称加载(例如,lblName.Text=“Steve M.”)。 如果我打开桌面应用程序并重复场景1,将打开一个重复窗口

我怎样才能防止这个问题


我尝试将桌面应用程序的引用添加到Web应用程序中。但是什么都没用:(

你控制那个asp.net站点吗(你能更改它的代码吗)

我对桌面应用的了解还不够,无法告诉你这是否可能;对我来说,这似乎不可能或非常困难;毕竟,浏览器的隐私是打开网页的业务,JS为它运行的对象是什么[页面]

但是,也许您可以这样做:当JS对象初始化时,使用JS代码将页面标题更改为某个已修复的内容,这对您的桌面应用程序来说意味着您正在查找的对象已准备就绪

例如,通常情况下,加载页面时,页面标题为“我的特殊页面”。也许在加载对象后,您可以将标题更改为“我的特殊页面就绪”(或者一些不会让用户觉得奇怪的内容,如果您愿意的话)

然后,你可以在桌面应用程序中搜索“我的特殊页面就绪”浏览器窗口,进行流程搜索,如果找不到,就启动浏览器;否则就不启动。与研究如何询问IE(或你正在使用的其他浏览器)相比,这相当简单告诉您在其打开的选项卡中是否存在某个变量并具有值(如果可能的话,请再次说明)