服务器迁移后web程序故障排除

问题

服务器迁移后(实际上是超融合虚拟机迁移,并不是物理机迁移,原本以为不会有环境问题),web程序工作不正常,程序可以正常访问,但是所有的导入导出Excel功能都提示:无法找到字体"?"。

解决

在测试环境和开发环境上可以正常运行,基本判断是生产服务器环境的问题,没有头绪无从下手的时候,看到IIS有一个服务没有起来:
asp.net state service
手工启动后问题消除,估计是迁移后虚拟机开机的时候这个服务没有启动。但是为什么会导致:无法找到字体"?",不得而知。
服务器迁移后web程序故障排除

ASP.NET State Service服务是用来管理 Session 的,正常来说,Session 位于IIS进程中(其实可以理解成在服务器的内存中),当IIS重启或程序池回收会自动清空Session。ASP.NET State Service服务如果启动可以解决这个问题,它会生成一个aspnet_state.exe进程,这个就是Session信息的进程。只要这个进程在,就算是重启了IIS,站点的Session也不会丢失。