我在 Windows azure 上运行应用程序,MVC 视图需要是动态的,我首先将它们作为记录存储在数据库中,但我非常热衷于将它们移动到物理位置。
我的概念是通过代码创建物理文件……效果很好,并显着加快了页面加载速度。这当然是在我意识到文件仅在角色期间可用之前
接下来,我查看了在角色启动时创建文件的启动任务 - 但是我随后意识到,除非我监视数据库的更改,否则任何单独的实例都不会同步。
所以我从一个启动任务转移到角色的 run 方法中的一个函数,该函数每 10 分钟检查一次数据库以查看是否发生了更改。问题是这似乎阻塞了应用程序(至少在热身阶段)。
理想情况下,我想将 run 函数移至它自己的工作角色,该角色可以坐在那里并将文件推送到 Web 角色实例,但我不确定如何从工作角色访问 Web 角色本地存储。谁能告诉我这是否真的可行?并希望为我指明正确的方向来实现这一目标?
只是为了澄清我想要实现的目标
- 视图在运行于 Web 角色的用户界面中创建并存储在数据库中 - 单独的 Web 角色(前端)具有客户端应用程序,其中虚拟路径提供程序将视图请求指向本地存储(本地资源) - 单独的工作角色以创建视图结构并将其加载到客户端 Web 角色本地存储