先请检查是不是跨域配置问题,请参考博客:http://www.cnblogs.com/donaldtdz/p/7882225.htmlhtml
1、问题描述前端
ABP angular前端部署后,查询,新增都没问题,但更新和删除会报一个跨域问题的错误,详细信息以下:web
PUT http://localhost:8060/api/services/app/User/Update 405 (Method Not Allowed)api
users:1 Failed to load http://localhost:8060/api/services/app/User/Update: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:4200' is therefore not allowed access. The response had HTTP status code 405.跨域
2、问题分析诊断浏览器
首先检查跨域配置是没有问题的,查询数据和新增数据的请求也是没有问题的,只出如今修改和删除数据。经过了解ABP Web API请求头设置,查询是GET请求,新增是POST请求,而修改是PUT请求,删除是DELETE请求,IIS服务一般都是支持get和post请求的,由此分析推断颇有多是IIS不支持put和delete谓词请求。app
经过百度了一遍对IIS进行新添加谓词put和delete。 点击部署应用 -> 出来程序映射 –> aspNetCore(因为我部署是.Net Core 程序,因此选择AspNetCoreModule模块)post
双击打开测试
经过检查,aspNetCore自己是支持所有谓词的,如今确定是和这个谓词有关,但须要更详细的错误信息。spa
既然不错信息是跨域,咱们先排除跨域因数的影响,如今看到的跨域错误信息颇有多是个假象,咱们经过swagger对web API进行调试。
调试须要配置受权token,请参考博客:http://www.cnblogs.com/donaldtdz/p/7892865.html
先测试接口:/api/services/app/User/GetAll
测试结果:经过 200
再测试接口:/api/services/app/User/Delete
测试结果:
HTTP 错误 405.0 - Method Not Allowed
没法显示您正在查找的页面,由于使用了无效方法(HTTP 谓词)。
将response body 用保存用浏览器打开以下:
查看详细错误信息,咱们开始的推断是没有问题的,最后也尝试了不少方法,最终问题核心在于 模块WebDAVModule
3、解决方案
在启用或关闭Windows功能 –> Internet Information Services 关闭WebDAV发布
验证:修改用户成功