asp.net mvc 4应用程序&x27;预编译';
我有一个asp.net mvc4应用程序,我们部署到大约1400个客户端。我们当前的部署过程如下所示:asp.net mvc 4应用程序&x27;预编译';,asp.net,asp.net-mvc,deployment,Asp.net,Asp.net Mvc,Deployment,我有一个asp.net mvc4应用程序,我们部署到大约1400个客户端。我们当前的部署过程如下所示: :: Publish the project files to a local directory %msbuild% RPortal.csproj "/p:Platform=AnyCPU;Configuration=Release;ConfigurationName=Release;SolutionDir=%solutionDir%;PublishDestination=.\Deploy\R
:: Publish the project files to a local directory
%msbuild% RPortal.csproj "/p:Platform=AnyCPU;Configuration=Release;ConfigurationName=Release;SolutionDir=%solutionDir%;PublishDestination=.\Deploy\Release" /t:PublishToFileSystem
然后我们有一些powershell脚本,它们使用其他工具帮助同步,将新构建推送到我们的每个客户端
我们注意到应用程序启动时间(有时超过5分钟)会出现一些服务器缓慢的情况,我们研究的解决方法之一就是ASP.Net预编译()
在这个想法的一些实验中,似乎在我们发布的系统上调用aspnet\u compile.exe
,实际上会创建一些新文件。(两个DLL和一些*.compiled文件)
我的问题如下:
如果您有一个应用程序部署到单个服务器上的1400个客户端,我会认真重新考虑您的应用程序设计,而不是设计一个使用单个应用程序的系统,该应用程序可以为每个客户端自定义自身(这称为多租户体系结构)。通常,这种类型的应用程序利用主机头或路由信息来选择如何向客户端显示信息。通过这样做,您只需要处理一个应用程序,这个问题就消失了。谢谢您,@ErikFunkenbusch。从长远来看,我们正在为此进行规划,但我们的资源已经过度投入,而且我们在相当长的一段时间内还不能走这条路。我正在寻找我现在可以做的事情,除了实际的应用程序代码之外,这将对应用程序启动时间产生明显的影响。在我看来,最便宜的解决方案应该是更多的硬件。硬件很便宜。我的意思是,你花在解决这个问题上的钱可能比花在一打盒子上的钱还多……这也是事实。但是,正如我提到的,我无法控制这个细节。我能控制的是代码和一些部署内容。所以,我希望尽我所能优化。