.NET Core API için “405 Methot Not Allowed” Çözümü

cPanel’de “Web Disk” Nedir, Nasıl Kullanılır?
2 Mart 2019
.NET Core “HTTP Error 500.0 – ANCM In-Process Handler Load Failure” Hatası Çözümü
23 Mayıs 2019

Son zamanlarda RestFUL API oluşturan kullanıcıların HTTP DELETE veya PUT istekleri yaparken bir sorun karşısında aldıkları “405 Yöntemine İzin Verilmiyor” hatası sıklaşmaya başladı.

Bu durumun başlıca sebebi IIS>WebDAV bileşenidir.

Çözümü: Web.Config düzenlemesi

En pratik çözümü .NET Core projenizin Web.Config dosyasına aşağıdaki kod düzeneğini yerleştirmek olacaktır. Çünkü eğer bir paylaşımlı hosting kullanıyorsanız  handlers yönetimi sayesinde bu özelliği kendinize uyarlayabilirsiniz.

Şimdi 2 işlem yapacağız,

İlki, Web.config dosyanızı açtıktan sonra <handlers> satırını bulup hemen altına şu kodu yerleştirin:

<remove name="WebDAV" />

İkincisi, aynı Web.config dosyasında </system.webServer> satırının hemen bir üst satırına aşağıdaki satırları yerleştirin. Eğer hali hazırda <modules> tagları var ise içine ekleyebilirsiniz:

<modules>
  <remove name="WebDAVModule" />
</modules>

Bu işlem ardından web.config dosyanızda örnek olarak şu şekilde görünecektir:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
        <remove name="WebDAV" />
      </handlers>
      <aspNetCore processPath=".\XXXXXX.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
      <modules>
        <remove name="WebDAVModule" />
      </modules>
    </system.webServer>
  </location>
</configuration>
<!--ProjectGuid: 22xx698-2abd-4dfc-8f89-06bxxxxc9845-->

Artık API projeniz bu sorunu yaşamaycaktır.

Alternatif Yöntem: IIS üzerinden WebDAV Bileşenini kaldırmak

Kendinize ait bir sunucuda bu sorunu yaşıyorsanız, WebDAV’ı iptal ederek kalıcı şekilde çözebilirsiniz.

Bu makale size yardımcı oldu mu?

Kimler Neler Demiş?

avatar
  Subscribe  
Bildir
Show Buttons
Hide Buttons