您所描述的是一个非常现代且优秀的 Microsoft 服务器堆栈。
ASP.net MVC 非常适合您的 Web UI。如果您使用 asp.net MVC,您还应该查看业务层的 asp.net webapi(新)。
http://www.asp.net/web-api
http://weblogs.asp.net/scottgu/archive/2012/02/23/asp-net-web-api-part-1.aspx
SQL Server 和 EF 是相当标准的。如果您需要最终控制并且对直接 sql 感到满意,则另一种选择是纯 T-SQL。
将 Web UI (MVC) 与业务层 (web-api) 分离的另一个好处是,您可以分离角色并独立扩展,即使最初它们恰好位于同一角色/机器上。此外,客户端 html/javascript 代码可以对 web-api 进行 ajax 样式调用。因此,您需要“注册”(配置)web-api 服务器的端点。如果您稍后缩放/移动它,则没有代码更改 - 您的代码与第一天完全分离。
移动设备(如果是厚应用程序)可以直接使用 web-api。除非移动应用程序是使用嵌入式浏览器/javascript 解决方案的混合移动应用程序,否则它只是 MVC Web UI 的小型消费者。
对于测试,您可以在其自己的命令行进程中自行托管 web-api,并在可行的情况下模拟数据。这将允许您在没有后端的情况下验证 Web UI。通过拥有一个业务层(由 web api 公开),您还可以独立于 UI 验证后端和逻辑(应该是您的大部分逻辑)。