如何在asp.net 3.5中创建decorator代理页面
本文关键字:decorator 创建 代理 asp net | 更新日期: 2023-09-27 18:00:29
我正在尝试制作这个功能,但我真的被卡住了。
我有两个在同一域上运行的应用程序。我需要让一个应用程序在它自己的(第一个)母版页中从另一个加载页面。
当然,我完全可以控制双方的代码。
我尝试过使用HTTPRequest和HTTPResponse,也尝试过使用WebBrowser。只要我有静态(纯HTML)页面,两者都可以很好地工作。然而这些页面实际上是动态的。用户需要按下服务器端按钮(回发),通常使用会话、视图状态和/或cookie。
正因为如此,HTTPRequest和WebBrowser让我失败了,因为它们不会导致回发,因此这些服务器端控件无法工作。更重要的是,如果我试图通过在每次响应后保存ViewState来"伪造"回发,而不是在下一次请求时重新发送,那么几(3-4)次后,原始页面将返回"该页面的状态信息无效,可能已损坏"错误,即使我使用
EnableViewStateMac="false"EnableSessionState="True"EnableEventValidation="false"ValidateRequest="false)ViewStateEncryptionMode="Never
所以。。。有什么想法我该怎么解决这个问题吗?
提前感谢
这里的主要愿望是什么?
- 在没有任何架构更改的情况下将一个网站的内容包装到另一个网站中
答案:Iframe
- 有一个单一的提交按钮从两个网站提交吗
回答:不是个好主意。您可能可以通过创建一个scraper和解析器来拼凑它,但它只会像"我能做到的奖杯"一样酷。最好重新安排解决方案。但假设你真的想这样做,你必须解析嵌入网站的结果,并将提交重定向到新网站。然后,该网站将获取值,并将表单提交给第一个网站,然后等待结果,它将抓取结果以向用户做出响应。它实际上要复杂得多,因为您必须解析HTMLDOM(当然,如果所有HTML都符合XHTML,那么就更容易了)来找出要拦截的内容。
注意:对嵌入式站点的任何更改都可能破坏您的代码,因此维护第一个站点的人员必须意识到这种人为创建的依赖关系,这样他们就不会更改任何可能导致问题的内容。哎哟,听起来很脆!;-)
- 其他
如果使用iFrame不起作用,那么我会研究业务问题,并制定一个理想的架构来解决它,这可能意味着通过第二个站点的web服务提供嵌入式站点的功能。