.net core网站在IIS上的调试

上一篇说了.net core2.1的WebAPI网站和数据库如何配置在IIS服务器上,但实际操作过程中可能会有很多问题,有时本地代码编译运行没有问题,但放到服务器上就会无法访问,这时最好通过服务器调试程序,得到异常信息并进行相关处理与操作。

 

1. 本地运行

无论是否在服务器上,发布后的dll文件可以直接运行调试,很多人知道exe文件可以直接打开,其实.net core发布的dll程序也是可以打开运行的,如果你本机装了.net core SDK,那么可以在网站发布目录下启动命令行,然后输入命令 dotnet xxxx.dll即可,这里的dll名称为发布时的网站项目对应的dll,而不是其他链接库的dll,该命令可在本地启动,如果启动失败,命令行会报异常,通常如果是代码问题会直接显示出错的代码行数与位置。

 

如果启动成功,会显示Application started,这是服务端应用启动,会监听localhost:5000端口作为客户端,此时我们打开浏览器,输入localhost:5000模拟客户端访问网站,命令行中如果有错也会报相应的异常

 

2. 服务器运行

上述是本地运行的情况,只是验证发布的dll是否有问题,因为有时候发布的目录不对,或发布时少了一些dll,都可通过该方式发现问题,但有时候是服务器IIS的配置问题,那么即便本地运行成功,放在IIS上访问网站依旧会失败,这时我们可以通过查看日志文件来发现问题。

.net core的发布文件夹下一般会有web.config文件,打开后修改这一行中的stdoutLogEnabled属性为true

重启IIS后会在发布文件夹下看到Logs文件夹,点开里面会有相应的Log文件,打开后会有与本地运行时命令行显示内容类似的异常信息,但有时不会有Logs文件夹,这时只需要在发布文件夹下手动新建一个Logs文件夹,再重启IIS服务器,访问网站后即可看到日志文件了。

 

如果以上两种情况下遇到的问题都解决了,那么实际外部访问网站一定会成功的,如果还打不开那一定是网络问题或是IP输错了(笑)

你可能感兴趣的:(.net,core,.net,core,iis,debug)