[英]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 =“从不
那么...有什么想法可以解决这个问题?
提前致谢
这里的主要愿望是什么?
解答:iframe
答案:这不是一个好主意。 您可能可以通过创建一个刮板和解析器来模糊这一点,但是它只会很酷,因为“我能做到奖杯”。 最好重新设计解决方案。 但是,如果您确实要执行此操作,则必须从嵌入式站点解析结果,然后将提交重定向到新站点。 然后,该站点将获取值并将表单提交到第一个站点,并等待结果,然后将其刮取以向用户做出响应。 实际上,它要复杂得多,因为您必须解析HTML DOM(当然,如果所有HTML都符合XHTML,则更容易)以找出要拦截的内容。
注意:对嵌入式站点的任何更改都可能破坏您的代码,因此维护第一个站点的人员必须意识到这种人为创建的依赖性,因此他们不会更改任何可能导致问题的内容。 哎呀,听起来很脆! ;-)
如果无法使用iFrame,那么我将着眼于业务问题并提出理想的体系结构来解决它,这可能意味着要通过Web服务为第二个站点提供嵌入式站点的功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.