一.在使用Asp.net WebAPI 或Asp.Net Core WebAPI 时 ,如果使用了Delete请求谓词,本地生产环境正常,线上发布环境报错. 服务器返回405,请求谓词无效. 二.问题分析诊断 首先检查跨域配置是没有问题的,查询数据和新增数据的请求也是没有问题的,只出现在修改和删除数据.通过了解ABP Web API请求头设置,查询是GET请求,新增是POST请求,而修改是PUT请求,删除是DELETE请求,IIS服务通常都是支持get和post请求的,由此分析推断很有可能是II…
先请检查是否是跨域配置问题,请参考博客:http://www.cnblogs.com/donaldtdz/p/7882225.html 一.问题描述 ABP angular前端部署后,查询,新增都没问题,但更新和删除会报一个跨域问题的错误,详细信息如下: PUT http://localhost:8060/api/services/app/User/Update 405 (Method Not Allowed) users:1 Failed to load http://localhost:80…
.netCore网站Delete请求405错误 解决方案 1:在启用或关闭Windows功能 –> Internet Information Services 关闭WebDAV发布(这种方式可能会影响其他需要WebDav的网站) 2:修改当前Asp.Net Core 发布后的WebConfig(不去卸载WebDav,通过修改配置文件只解决当前项目的问题) 去除WebDAVModule, <modules runAllManagedModulesForAllRequests="true…
前些时间在做一个搜索功能时发现一个比較有意思的现象,场景是这种:在一个模态窗体中是一个订单列表.页面的顶部有若干个状态筛选框和一个搜索keyword输入框,当焦点在keyword输入框时按回车,本来是对input的keyup事件做了监听.当发现是按了回车键时便自己主动提交搜索请求的,但输入keyword后按回车时页面居然跳转了.而且出现"HTTP 错误 405.0 - Method Not Allowed无法显示您正在查找的页面.由于使用了无效方法(HTTP 谓词)"的错误,很纳闷.…
IIS10.0在部署了WebAPI之后,默认是不支持Put模式调用的.需要按照下面方法启用. 步骤一:在IIS管理界面要支持Put模式的IIS站点,选择 "功能视图". 步骤二:选择 "处理程序映射" 菜单. 步骤三:找到"WebDAV" 选项,并编辑. 步骤四:点击 "请求限制" 选项. 步骤五:选择 "谓词" 菜单项,选 "所有谓词",保存即可.       …
其实使用put delete  是在创建webapi中基本才会使用. WebDAV 是超文本传输协议 (HTTP) 的一组扩展,为 Internet 上计算机之间的编辑和文件管理提供了标准.利用这个协议用户可以通过Web进行远程的基本文件操作,如拷贝.移动.删除等.在IIS 7.0中,WebDAV是作为独立扩展模块,需要单独进行下载,而IIS 7.5中将集成WebDAV,然而WebDav把Put,Delete给咔嚓了.所以在IIS 7.5上部署的RESTful服务(WCF Data Servic…
WebDAV 是超文本传输协议 (HTTP) 的一组扩展,为 Internet 上计算机之间的编辑和文件管理提供了标准.利用这个协议用户可以通过Web进行远程的基本文件操作,如拷贝.移动.删除等.在IIS 7.0中,WebDAV是作为独立扩展模块,需要单独进行下载,而IIS 7.5中将集成WebDAV,然而WebDav把Put,Delete给咔嚓了.所以在IIS 7.5上部署的RESTful服务(WCF Data Service,WCF Rest Service,ASP.NET Web API,…
背景 请求部署在 IIS7.5 上的 REST 服务的 Put/POST/DELETE 操作发生 HTTP Error 405.0 - Method Not Allowed 错误. Issue 解决 方法一:从HttpModule中移除 IIS拒绝PUT和DELETE请求是由于IIS为网站默认注册的一个名为WebDAVModule的自定义HttpModule导致的,如果我们的站点不需要提供针对WebDAV的支持,所以IIS7关闭WebDAV扩展服务,最为直接的方式就是利用如下配置将注册的Http…
ASP.NET Core应用发布到IIS 官网教程地址:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/publish-to-iis?view=aspnetcore-2.2&tabs=visual-studio 1.安装.net core托管捆绑包 在 IIS 服务器上安装 .NET Core 托管捆绑包 . 捆绑包可安装 .NET Core 运行时..NET Core 库和 ASP.NET Core 模块. 该模块允许 ASP.NE…
尝试使用微软的Web Api,他的确是一个很有意思的东西. 让我体会到了许多的方便,但是我发现部署到IIS服务器上去了后PUT和Delete请求将返回405. 原因是IIS的默认处理程序默认情况下只允许GET,POST,HEAD和调试方法.而不能使用PUT和Delete操作. 此时也很简单只需要在Web配置文件中做如下修改即可: <system.webServer> <modules runAllManagedModulesForAllRequests="true"&…