如何在经典的 ASP Web 应用程序之上集成 WebSockets?
在我的一个项目中,我有一个非常活跃的经典 ASP 站点,需要将基于实时事件的提要集成为现有 UI 的一部分.未来有计划将站点架构升级为 MVC 或 MVP,但必须同时实现此新功能.
In one of my projects, I have a very active classic ASP site with a requirement to integrate live event-based feeds as part of the existing UI. There is a plan to upgrade the site architecture to either MVC or MVP in the future, but this new feature must be implemented in the meanwhile.
我决定为此使用 WebSocket 方法,因为这最终是我们将来想要使用的,而重新构建它没有意义.问题是,如何将其与经典的 ASP架构"集成?
I have decided to go with a WebSocket approach for this, as this is ultimately what we will want to use in the future, and rebuilding this doesn't make sense. The question is, how to integrate this with the classic ASP "architecture"?
该网站已经实现了 jQuery 库,并希望利用 jQuery 的功能在给定页面上创建这些流式部分.
The site already implements the jQuery library, and was hoping to leverage jQuery's capabilities to create those streamed sections on a given page.
当前请求要求此新闻提要存在于每个页面上.因此,加载新页面将重新呈现新闻提要,并且应该从它留在最后一页的位置开始.为此,我猜需要读取位置指示器(我猜是会话变量).
The current req's ask for this news feed to exist on every page. Thus, loading a new page will re-render the news feed, and should kick of from where it left on the last page. For this, I'm guessing a position indicator will need to be read (session variable I'm guessing).
无论如何,这些都是要求.我正在考虑将整个现有的经典 ASP 站点包装在一个 MVC 或 MVP (C#/.Net) 项目中,以允许我们在开发遗留特性时开始替换它们,例如这个.
Anyhow, those are the requirements. I was thinking of wrapping the the entire existing classic ASP site inside a MVC or MVP (C#/.Net) project to allow us to begin swapping out legacy features as they are developed, such as this one.
我想就这种情况下的一些推荐方法获得一些建议.
I would like to get some advice on some recommended approaches for this scenario.
谢谢.
推荐答案
我会做一个 SignalR 应用程序并集成它在你的旧应用中.
I would do a SignalR app and integrate it in you old app.
很容易将 ASP 经典与 ASP.net MVC 集成.只需混合项目并从路线中排除 *.asp
It's easy to integrate ASP classic with ASP.net MVC. Just mix the projects and exclude *.asp from the routes
routes.IgnoreRoute("{resource}.asp/{*pathInfo}");
在根 (/) 中会遇到一些问题,但可以使用重定向对其进行排序.
You will have some trouble in the root (/), but you can sort it with a redirect.
对于混合身份验证(如果需要),您需要在 MVC 中编写自己的身份验证,以使用您在 Classic ASP 中使用的相同身份验证 cookie.我过去曾成功地做到这一点.
For a mixed authentication (if you need it) you will need to write your own authentication in MVC to use the same auth cookie that you use in Classic ASP. I've done this in the past with success.
相关文章