The RenderBody method has already been called

  • Post author:
  • Post category:其他

项目中用的是ASP.NET MVC,部署在服务器的IIS中。在部署新版本的时候,抛出了如下异常。

解决办法:1.如果能登录服务器,那么重启IIS中相应的网站就解决。2.如果不能登录服务器,通过FTP的方式部署,那么要先删除以前的那个文件,再上传新文件,而不是直接上传新文件去覆盖原来的文件。

问题分析如下:

这个网站是部署在服务器上的IIS站点中,开发人员没有权限登录这个服务器,只能通过FTP的方式远程部署。在网站正常运行的情况下,我们上传了_Layout.cshtml文件去替换了原本的文件,立即就抛出了异常。分析可能是因为运行中的IIS与Application worker process在加载了新的cshtml文件后与其缓存的以前的版本发生了冲突。解决办法就是彻底先删除这个旧的_Layout.cshtml文件,访问一下这个页面,会抛出找不到页面文件的异常,这时候再上传这个新的_Layout.cshtml文件,再重新访问,就一切正常了。


版权声明:本文为sundacheng1989原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。