记录个小问题,就是最近自己在琢磨.net core项目的搭建,写了一些简单的接口测试下,调试的时候都是好的,但是发布到本地IIS后,请求接口后居然返回了HTTP报错,一头雾水,查了半天最后检查可能是IIS应用程序的模块下,WebDAV 模块影响了PUT请求,删除该模块后,重新启动服务后访问接口返回正常数据。
但是呢!!!你重新发布程序后,被删掉的模块还会自动恢复,然后你再去请求就又开始报错405,然后我又去找了一堆大佬的帖子看了看,他们给的方法是在程序的web.config文件中添加以下代码解决这个问题
<system.webServer>
<modules>
<remove name="WebDAVModule" />
</modules>
</system.webServer>
这段代码应该是移除WebDAVModule模块的操作吧,我猜的。
当然添加这段代码后,重新发布程序后,请求是正常返回数据的,说明有效。
但是呢,在各位大佬的帖子基础上,说一下,好多小伙伴的项目默认没有web.config这个文件,那么像我这种小白呢,不知道怎么搞,然后查了一下,这个可以直接在项目右键添加新建项,再选择Web配置文件即可添加成功。
添加之后里面的内容默认是注释的,像我这种小白呢,不知道怎么写的,可以去把发布生成出来的web.config文件的内容复制过来,然后再加上上面这段代码,往后随便你怎么发布,都不会再出现所说的405问题了。
小白也有小白的解决方法,总结完毕,说的不对的地方烦请各位大佬指出。