Yeni bir ASP.NET projesinin bir parçası olarak MVC 6 (beta 3) içinde yerleşik temel bir Web API denetleyicim var. Karşılaştığım sorun, PUT veya PATCH fiillerini kabul etmemesi ve bu yöntemlerle bir URL'ye erişmeye çalıştığımda 404 hatası döndürmesidir.ASP.NET 5 + MVC 6 + PUT veya PATCH fiillerine sahip Web API denetleyicisi, 404 hatası döndürüyor
namespace Test.Controllers
{
[Route("api/test")]
public class TestController : Controller
{
[HttpGet]
public string TestGet()
{
return "Hello from GET!";
}
[HttpPost]
public string TestPost()
{
return "Hello from POST!";
}
[HttpDelete]
public string TestDelete()
{
return "Hello from DELETE!";
}
[HttpPut]
public string TestPut()
{
return "Hello from PUT!";
}
[HttpPatch]
public string TestPatch()
{
return "Hello from PATCH!";
}
}
}
fiiller (YAMA, GET, POST, PUT, DELETE, ve benzeri) içinde her biriyle URL'yi kontrol etmek 'Postacı' ile http://localhost/api/test
Ziyaret: Burada
Düzenleme: Hatırladığım orada olmak WebDAV'yi devre dışı bırakma ve web.config
üzerinden iki fiiller için işleyicileri ekleyerek, ancak içerdiğini MVC5 ve alt için bu fiilleri sağlayan bir yolu böyle bir şey ASP.NET'te web.config
olarak var olduğu 5 Bunun nasıl düzeltileceğine dair tam bir kayıp yaşıyorum. Muhtemelen bunun config.json
aracılığıyla çözüldüğünü varsayar, ancak bunun için arama girişimlerim hiç bir işe yaramadı!
Ben MVC5 geliştirilen bir önceki site bu sorunu yoktur ve web.config
dosyanın baktım orada WebDAV'yi devre dışı bırakır (aslında kaldırıldı oluyor) ya da PUT işlenmesini sağlayan orada bir şey olmak görünmüyor/Uzantısız URL'ler için PATCH yöntemleri. Bu yüzden daha önce yazdığımın geçerli olduğunu düşünmüyorum.
Herhangi bir fikrin var mı?
Teşekkür
Web.config hala var ve IIS –
için gerekli. Kodumdaki hiçbir şeyi değiştirmeme rağmen, bu sabah iyi çalışıyor gibi görünüyor. Bunu daha önce hiç çalışmamasının bir sebebi olmadığından ve şimdi aniden çalışmaya başladığından, bunu bir yerde bir hata olarak göreceğim. –
Yukarıdaki kod sadece benim için her fiil için iyi çalışıyor garip. – dotnetstep