首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一个网站和一个应用程序是如何沟通的?

一个网站和一个应用程序是如何沟通的?
EN

Stack Overflow用户
提问于 2010-12-08 18:31:59
回答 1查看 1.1K关注 0票数 0

我想在ASP.Net中开发一个交互式网站,我的意思是它有一个后端应用程序来提供实时逻辑(它不遵循HTTP的请求/响应模型),最终它会被提供一个带有Server数据库的动态*.aspx页面。

这些组件(作为设计和通信机制)将如何协同使用可伸缩的应用程序?

编辑: Ok,正如您所知,我们都倾向于获得比HTTP更重要的东西,我希望我的后端应用程序能够持久地实时工作,例如,它将有一些固定的间隔来在数据库上执行一些查询。

在我想象的设计中,它是一个服务器(包含一个ASP.Net网站、后端应用程序和数据库),随着时间的推移,设计可能会变得更加混杂。网站是用户的交互界面,网站需要(有时)密集的计算和查询,最好由后端应用程序来处理,然后应用程序将网站的信息打包并格式化为HTML标记,最终返回给用户。

对设计有什么建议吗?您可以共享哪些关键思想来支持一个健壮的应用程序,该应用程序可以迭代开发,以使未来的更改/增强更容易?它可以是整个项目的层次,还是更喜欢在网站和后端应用程序之间使用WCF而不是常规的web服务?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-08 18:47:52

有意思的。您能详细介绍一下这个应用程序的逻辑流程吗?非web应用程序(我假设它运行在同一台服务器上)在做什么?

根据到目前为止的描述,我想象的是一个由SQL数据库和运行在同一台机器上的Windows驱动的网站(用于实时逻辑应用程序),做它需要做的任何事情。但听起来你在寻找比这更直接的互动。

编辑:

我希望我的后端应用程序能够持久地实时工作,例如,它将有一些固定的间隔来对数据库执行一些查询。

它可能(可能)是一个Windows服务,也可能是一些简单地与数据库交互的总是在上的应用程序。它和网站不需要知道对方的存在。这个网站只是提供通过这个过程在数据库中放置/操作的数据。

网站需要(有时)密集的计算和查询,最好由后端应用程序来处理。

像这样的异步处理对于网站来说通常是非常有用的,因为当浏览器耐心地等待时,并不是所有的事情都可以完成。您所做的工作的直觉性质使设计有很大差异,但首先,我建议如下所示:

  1. 用户在网站上“启动”一个“计算”。它是否设置了一些值,上传了一些要处理的事情,等等,完全取决于你在做什么。主要是用户启动它。
  2. 进程执行其魔术所需的信息被持久化到数据库中,并且用户被告知该进程已排队等待处理。
  3. 后端应用程序(或多个应用程序)定期轮询数据库(每分钟一次,每5分钟等)或者,对于上传的“批处理”文件,可以使用类似于FileSystemWatcher的东西来查找要做的新事情并执行它们。使用多线程或您需要做的任何事情,但要点是它是一个网站没有等待的“脱机”进程。当进程完成时,
  4. 会在数据库中设置一些标志(在正在处理的记录上,或者在用户的“收件箱”中设置“消息”记录),以指示进程已经完成。
  5. 网站用户界面有一些指示符,无论何时加载,检查上述标志,以向用户指示已完成排队的进程并已准备好查看。

后端进程还可以在进程完成时向用户发送电子邮件,等等。

这就是你所想的要点吗?或者,由于某种原因,这种互动需要更加直接?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4390944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档