• 记一次所有DELETE 请求全部404报错问题(put和get等其他请求均正常)


      原服务器上程序已经正常跑过一段时间了,采用的.net framework框架,一直都没有什么问题。突然使用人员说有一条数据没办法删除,然后赶紧排查,验证了接口是正常的,本地调试删除也是正常的;在服务器端验证,所有的删除均报错404,其他请求全部正常。回想下最近在服务器上的操作,因为有的代码是.netcore写的,在服务器上安装了.netcore sdk,难道是因为这个原因,网上查了点资料,貌似没有人遇到过这个问题。

           最后没办法,只能各种试,发现将托管模式改为集成就正常了,不是很明白原因,先记录一下吧。

        

     顺便了解下经典模式和集成模式的区别:(除非特别老的系统,一般采用集成比较好)

    经典模式
    指的是与IIS 6或者之bai前版du本保持兼容的一种模式zhi.
    在IIS 6.0中的经典模式中,ASP.NET是一个添加dao到IIS中的ISAPI。IIS 7.0之所以支持这种模式,是为了做到向后兼容。但是,经典模式缺少许多集成模式才能提供的特性。在经典模式中,IIS拥有自身的管道,这些管道可以通过创建一个ISAPI扩展进行扩充,而ISAPI扩展是以难以开发而著称的。ASP.NET作为一个ISAPI扩展运行,只是IIS管道中的一项组成部分。
    注意,在这种情况下,ASP.NET仅当IIS处理ISAPI扩展时才能够发挥作用。
    集成模式:
    这种全新的模式,允许我们将ASP.NET更好地与IIS集成,甚至允许我们在ASP.NET中编写一些功能(例如Module)来改变IIS的行为(扩展)。集成的好处是,不再通过ISAPI的方式,提高了速度和稳定性。至于扩展,则可以使得我们对于IIS以及其他类型的请求有更多的控制。
    利用集成模式,可以将ASP.NET作为IIS的有机组成部分。现在,IIS服务器的功能被划分为40多个模块,因此也就将IIS和ASP.NET的功能划分为不同的组成部分。诸如StaticFileModule、BasicAuthenticationModule、FormsAuthentication、Session、Profile,以及RoleManager等模块都是IIS管道的组成部分。
    注意,FormsAuthentication、Session、Profile,以及RoleManager原本就是ASP.NET的组成部分,与IIS并无关系。

  • 相关阅读:
    leetcode69 X的平方根的几种解法
    记录一次安装OpenGL的漫长过程
    Java序列化和反序列化
    volatile和synchronized关键字
    netty中的传输
    SpringBoot集成netty实现客户端服务端交互和做一个简单的IM
    netty入坑第一步:了解netty和编写简单的Echo服务器和客户端
    java几种垃圾收集方法和垃圾收集器
    SpringCloud-7-Config
    SpringCloud-6-Zuul
  • 原文地址:https://www.cnblogs.com/wanggang2016/p/13396775.html
Copyright © 2020-2023  润新知