Multiple actions were found that match the request

Merhaba arkadaşlar

Bugünkü yazımda, benim gibi MVC Projenizde ayrıyetten bir de WEB API kullanıyorsanız bu hata ile karşılaşmanız muhtemeldir.

Öncelikle hatanın neden kaynaklandığını ve senaryomu anlatmak isterim.

Üzerinde çalıştığım .NET MVC projemde, bu kez MVC’de kodlanan ekranların Android mobil uygulamasında WebView componenti içerisinde de kullanılacak hizmet vermesi gerekti. Oturup sıfırdan native uygulama yazmak yerine, mobil uygulamadaki belli başlı alanları native yapıp, diğer kısımları mevcut responsive olan MVC projemi kullanmaya karar verdim.

İlk olarak uygulamaya giriş yapacak kullanıcıların “Üyelik Girişi” login mekanizmasını kullanmaları için projedem WEB API kullanarak webservis oluşturdum. Bu webservis ile gerekli kontroller yapılıp, kullanıcının uygulamaya girişi sağlanıyordu.

Akabinde bir de kullanıcılar için “Şifremi Unuttum” mekanizması gerekliydi. Fakat sorun şu ki App_Start/WebApiConfig.cs Route class’ımdaki default “routeTemplate” sadece controller’a bakıyordu.

Bu nedenle adres çubuğundan web api’ye ait method çağırıldığında aşağıda hata ile karşılaşıyordum.

ExceptionMessage :Multiple actions were found that match the request

multiple-actions-were-found-that-match-the-request
multiple-actions-were-found-that-match-the-request

Akabinde App_Start/WebApiConfig.cs classında yer alan kodu bir aşağıdaki blok ile değiştirdiğimde sorunu gidermiş oldum.

Böylelikle Web Api çağırıldığında sadece controller’a değil, hem controller’a hem de action’ı birlikte kontrol edip ona göre süreci yönetmeye başlayacak.

Umarım faydalı bir yazı olmuştur, bir sonraki yazımda görüşmek üzere

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir