Windows 10’da Dotnet Core Projesi (Web/Api) Yayınlama

Merhabalar, bu yazımızda client ortamında (windows/iis) bir dotnet core projesini nasıl yayınlayabiliriz onu inceleyeceğiz.

İlk olarak IIS özelliklerimiz açık mı onu kontrol ediyoruz (win+r => appwiz.cpl), açık değilse

windows 10 iss kurulumu için şuradaki linki takip edebiliriz => https://www.sistemciler.com/windows-10-internet-information-services-iis-kurulumu-resimli-anlatim/

IIS kurulumunu yaptıktan sonra (win + r => inetmgr.exe) ile panel açalım.

Link’teki gibi çalışıp çalışmadığını biz de kontrol edelim ;

http://localhost/

IIS ayakta. Şimdi dotnet core 2.2 de hazırladığım projeyi publish ediyorum.

Publish method => file system

Ayarları da aşağıdaki gibi bırakıp kaydediyorum.

Son olarak PUBLISH dediğimizde “copy to folder…access denied” gibi bir uyarı alınırsa, local user a tam yetki verilir klasör için. Bu şekilde Visual Studio üzerinden yazma yetkisini vermiş olacağız.

Yeni site eklerken de site adı ip adresi ve portu ile havuzu seçip kaydediyoruz. Uygulama havuzu bilgisini seçerken core ile çalışıyorsak defaultapppool seçebiliriz.

Eğer core ile çalışmıyorsak => .NET Framework 4, 4.5 ve sonraki sürümler için CLR 4, .NET Framework 2.0, 3.0 ve 3.5 CLR 2.0’ı seçebiliriz. 

Uygulama çalışırken log almak için stdoutLogEnabled parametresini true olarak değiştiriyoruz. Yazma yetkisinin de olması klasöre için IIS_IUSRS ye tam yetki veriyoruz.

Böylece uygulama başlatma ile ilgili bir sorun olursa (ki örneğin appsettings.development.json da yer alıp ona göre uygulamada test edilen şeyin üretim ortamına alınması ile appsettings.json da yer almayan verilerden kaynaklı sorun çıkması gibi) buradaki loglardan yakalayabiliriz.

Daha detaylı bilgi için https://docs.microsoft.com/tr-tr/aspnet/core/host-and-deploy/iis/logging-and-diagnostics?view=aspnetcore-5.0

bağlantı adresinde artık locale bağlanmyacağımız için varsa Trusted_Connection bilgisinin False olması gerekiyor çünkü artık kullanıcı adı ve şifre ile işlemler yürütülecek. Integrated Security bilgisini ise True ya çekebiliriz çünkü user authentication yapacağız artık.

api yi kontrol ediyorum, IIS te web sitesini yönet => gözat dediğimde

Api’nin veriyi döndürdüğünü görüyorum. Eğer çalışmasaydı dot net core uygulamaları için hosting bundle eksik demek olacaktı, uygulamaları core 2.2 de yazdığım için microsoft un sitesinden o sürüme ait runtime bundle ı indiriyorum,

windows 10 için güncel olan aşağıdaki linkte olmakla birlikte; https://dotnet.microsoft.com/download/dotnet/thank-you/runtime-aspnetcore-5.0.10-windows-hosting-bundle-installer

2.2 için ise link aşağıdaki gibidir;

https://dotnet.microsoft.com/download/dotnet/thank-you/runtime-aspnetcore-2.2.2-windows-hosting-bundle-installer

kurulum sonrası iis klasörü altı aşağıdaki gibi olacaktır.

yine kurulum sonrası servisi bir kapatıp açmamız gerekebilir, o işlemi de şu şekilde yapıyoruz

net stop was /y

net start w3svc

api yi yayınladık, şimdi sıra web projesini de yayına almaya,

web i de aşağıdaki url den yayına alacağım..

api ye gelen istekleri filtrelemek için appsettings te safelist oluşturmuştum, oradaki linki api ye de ekleyip yeniden publish ediyorum, varsa demonuzda sizde de o ayar bu şekilde yapılandırın, unutmayın diye ekliyorum sadece bu kısmı.

Projeyi publish ettikten sonra…

demo çalışması bu kadardı, sağlıcaklaa..

iyi çalışmalar….

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s