我正在为 C# 网站设计理念而苦苦挣扎。
假设我需要一个整天连续递增整数的应用程序(任何连续长时间运行过程的简单表示)。我需要编写一个网站,允许我(和其他用户)登录,查看当前值,最好见证它的更新,可能通过重置它与它进行交互,然后注销,让进程继续运行。
我可以把它写成一个网站,还是我必须写一个网站来提供页面和单独的应用程序来做持续的工作?
我正在为 C# 网站设计理念而苦苦挣扎。
假设我需要一个整天连续递增整数的应用程序(任何连续长时间运行过程的简单表示)。我需要编写一个网站,允许我(和其他用户)登录,查看当前值,最好见证它的更新,可能通过重置它与它进行交互,然后注销,让进程继续运行。
我可以把它写成一个网站,还是我必须写一个网站来提供页面和单独的应用程序来做持续的工作?
就我个人而言,我希望“工作”是某种可以与之交互的 Windows 服务(通过数据库状态,或直接通过某种传输机制、WCF、消息队列等)。然后,该网站将与现有服务对话并执行它需要做的事情(获取状态、更新等)。
There are a couple of routes you could take. I would separate this into 3 different roles:
See Workflow Services: http://msdn.microsoft.com/en-us/library/dd456797
将整数存储在符合ACID的数据库(如 SQL Server)中是否存在问题?然后您可以与您构建的 Web 应用程序进行交互,对吗?似乎是处理像这个整数值这样的共享对象的理想方式。ACID 合规性意味着整数可以很好地在硬件故障中幸存下来,您可以记录有关谁在调整整数的活动等。与使用数据库。
您可以拥有一个网页,因为不需要提供多个页面。该页面可以从内部存储器、数据库或不断更新的 Web 服务中读取计数器值(可能添加一个 AjaxUpdate 面板以显示它正在运行)。然后,您可以编写一个函数,例如ResetCounter()
连接到数据库/Web 服务并重置计数。