繁体   English   中英

如何在asp.net 3.5中创建装饰器代理页面

[英]how to create a decorator proxy page in asp.net 3.5

我正在尝试使此功能,我真的很卡住。

我有两个在同一域上运行的应用程序。 而且我需要一个应用程序从其自己的(第一个)母版页中的另一个加载页。

我完全可以控制双方的代码。

我尝试使用HTTPRequest和HTTPResponse,并且尝试使用WebBrowser。 只要我有静态(纯HTML)页面,两者都很好用。 但是,这些页面实际上是动态的。 用户需要按下服务器端按钮(回发)并通常使用会话,视图状态和/或cookie。

因此,HTTPRequest和WebBrowser无法使我失败,因为它们不会引起回发,因此这些服务器端控件无法正常工作。 更重要的是,如果我尝试通过在每个响应后保存ViewState来“伪造”回发,而不是在下一个请求上重新发送,则原始页面几(3-4)次后将返回“状态信息无效此页面,并且可能已损坏”错误,即使我使用

EnableViewStateMac =“ false” EnableSessionState =“ True” EnableEventValidation =“ false” ValidateRequest =“ false” ViewStateEncryptionMode =“从不

那么...有什么想法可以解决这个问题?

提前致谢

这里的主要愿望是什么?

  1. 将一个站点的内容包装在另一个站点中,而无需任何体系结构更改?

解答:iframe

  1. 有一个提交按钮可以从两个站点提交吗?

答案:这不是一个好主意。 您可能可以通过创建一个刮板和解析器来模糊这一点,但是它只会很酷,因为“我能做到奖杯”。 最好重新设计解决方案。 但是,如果您确实要执行此操作,则必须从嵌入式站点解析结果,然后将提交重定向到新站点。 然后,该站点将获取值并将表单提交到第一个站点,并等待结果,然后将其刮取以向用户做出响应。 实际上,它要复杂得多,因为您必须解析HTML DOM(当然,如果所有HTML都符合XHTML,则更容易)以找出要拦截的内容。

注意:对嵌入式站点的任何更改都可能破坏您的代码,因此维护第一个站点的人员必须意识到这种人为创建的依赖性,因此他们不会更改任何可能导致问题的内容。 哎呀,听起来很脆! ;-)

  1. 其他?

如果无法使用iFrame,那么我将着眼于业务问题并提出理想的体系结构来解决它,这可能意味着要通过Web服务为第二个站点提供嵌入式站点的功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM