lostyazilim
tr.link

Asp.Net Core MVC Bad Request Hatası ve Çözümü

5 Mesajlar 985 Okunma
acebozum
tr.link

ulas ulas C# & ASP.NET Kullanıcı
  • Üyelik 25.07.2016
  • Yaş/Cinsiyet 28 / E
  • Meslek Full Stack Developer
  • Konum Diğer
  • Ad Soyad U** K**
  • Mesajlar 1401
  • Beğeniler 404 / 404
  • Ticaret 18, (%100)
Merhaba,

Bugün yeni teknolojiye geçişte yaşadığım sıkıntıları başkalarının yaşamaması için bir sorunu ve çözümünü paylaşacağım.

Local'de (Windows 10 & IIS) çalışan fakat sunucuda (Ubuntu > Nginx & Kestrel) çalışmayan bir özellikten bahsedeceğim. Amacım basit bir iletişim formu yapıp, veritabanına kayıt yaptırmaktı. Fakat web sitesini yayına alıp veritabanına buton ile bilgileri göndermeye çalıştığımda 'Bad Request 400' hatası alıyordum. Bu aşamada sorunun neyden kaynaklandığını anlamak oldukça zor. Hem teknolojide yeni olmamdan kaynaklı, hemde gerçekten sorunun sebeplerinin fazlaca olabilmesi çözüme ulaşmamı zorlaştırdı.

Acaba sorun veritabanı bağlantısında mı, kestrel sunucusunda mı, nginx tarafında mı, istek gönderilirken doğrulama sorunları mı meydana geliyor derken, Nginx tarafındaki yanlış yapılandırmayı düzelttiğimde problem ortadan kalktı.

NGINX yapılandırma dosyasında yapılması gereken değişikliker;


proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;


Connection kısmında 'upgrade' yerine '$http_connection' değerini girince problem çözüldü.
 

 

technovenue.com
elektronikssl
webimgo

rshcoosl rshcoosl Yazılımcı Kullanıcı
  • Üyelik 29.01.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Yazılımcı
  • Konum İstanbul Anadolu
  • Ad Soyad R** G**
  • Mesajlar 273
  • Beğeniler 31 / 39
  • Ticaret 26, (%100)
Linux'e geçerken bende birsürü zorluk yaşadım. Hataların nereden kaynaklandığını bulmak için çok uğraştım.

İşin kötü yanı ara verince hemen unutuyor insan. Yaşanılan sorunları, çözümleri not etmek lazım. Uzun zamandır deploy yapmıyordum. Şimdi yapınca beni hangi hatalar bekliyor merak ediyorum.
ulas

kişi bu mesajı beğendi.

ulas ulas C# & ASP.NET Kullanıcı
  • Üyelik 25.07.2016
  • Yaş/Cinsiyet 28 / E
  • Meslek Full Stack Developer
  • Konum Diğer
  • Ad Soyad U** K**
  • Mesajlar 1401
  • Beğeniler 404 / 404
  • Ticaret 18, (%100)
rshcoosl Katılıyorum. Siz muhtemelen sadece Linux'a geçiş yaptınız, ben hem ASP.NET Core, hem MVC hem Linux :) ASP.NET Webform'dan direkt ASP.NET Core MVC'ye geçmenin doğru bir yanı yok elbette, fakat sunucu masrafları artık buna zorladı :)
 

 

technovenue.com

rshcoosl rshcoosl Yazılımcı Kullanıcı
  • Üyelik 29.01.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Yazılımcı
  • Konum İstanbul Anadolu
  • Ad Soyad R** G**
  • Mesajlar 273
  • Beğeniler 31 / 39
  • Ticaret 26, (%100)
ulas net core'a geçmek çok doğru karar.
MVC yerine razor pages'ı da önerebilirim.
Proje yapısı olarak daha düzenli oluyor.
Tabi bu 2'si seçim değil. İhtiyaca göre projenin bazı yerlerinde razor pages bazı yerlerinde mvc kullanabilirsiniz.
ulas

kişi bu mesajı beğendi.

wmaraci
wmaraci

ulas ulas C# & ASP.NET Kullanıcı
  • Üyelik 25.07.2016
  • Yaş/Cinsiyet 28 / E
  • Meslek Full Stack Developer
  • Konum Diğer
  • Ad Soyad U** K**
  • Mesajlar 1401
  • Beğeniler 404 / 404
  • Ticaret 18, (%100)
rshcoosl Bahsettiğiniz meseleyi destekler türden bir çok makale okudum, MVC'nin kalabalık yapısı olmadan ihtiyaca göre bazen razor page kullanmak daha doğru. Yaşadığım deneyimlerde bunun doğru olduğunu gösteriyor.

Gerek OOP olsun, gerekse MVC kavramları olsun artık tartışılabiliyor veya her projede uygulanıp uygulanmaması gerektiği sorgulanıyor. OOP, MVC yerine göre faydalı ancak, bilinçsiz olunduğunda iş gereğinden fazla uzuyor, karmaşık bir hal alıyor.

ASP.NET Core ve MVC için henüz yolun çok başındayım, hayırlısı olsun :)
rshcoosl

kişi bu mesajı beğendi.

technovenue.com
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al