Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 42810|Yanıt: 1

[.NET Core] .NET Core web sitesi, alan adı ve port yapılandırmasını başlatır.

[Bağlantıyı kopyala]
Yayınlandı 24.05.2017 13:30:59 | | | |
İki gün önce, .NET core startup analizini yeniden yayımladım, çünkü çıkışında varsayılan 5000 portuna takılı kalmıştım ve dikkatlice inceledim.

1. IIS entegrasyonu

IIS'i ana bilgisayar olarak kullanıyorsanız, bunlar sorun olmaz, güçlü IIS sitenin alan adını, portunu vb. yapılandırmamıza yardımcı olabilir. IIS'te asp.net çekirdekli bir web uygulamasının nasıl kurulacağı konusuna gelince, burada mesele bu değil. Kabaca şunu şöyle tanımlayalım:

Net Core SDK ve Server Hosting'i indirmeniz gerekiyor ve indirme adresi https://www.microsoft.com/net/download



Kurulumdan sonra, .NET Core SDK'nın komut satırı dotnet bilgisine başarıyla yüklenip kurulmadığını kontrol edin

Sunucu ana bilgisayarının IIS modülünde başarıyla kurulup kurulmadığı ve handler eşlemesi aşağıda gösterilmiştir



Sonra siteyi kurup dosyaları yayınlama sitesine belirtin

Son olarak, program havuzu yapılandırılmalı ve yönetilmeyen seçeneği seçmelidir, böylece bir sunucu host yönlendirme talebi oluşur.





2. Linux ortamı

Özel kurulumdan bahsetmiyorum bile, ayrıca çok sayıda var. Resmi web sitesindeki talimatlara göre, yani .NET Core çalışma ortamını kurun, çalışabilir.

İşte kendi referansınız için önerilen bir blog yazısı: ASP.NET Core uygulamalarını üretime (CentOS7) dağıtmak



Ana noktaya geri dönelim, URL ve port parametreleri nasıl yapılandırılır?

1. Ana Programın Yönteminde Belirtin




Bu yaklaşım esnek değildir ve yapılandırma dosyası eklenerek okunsa bile o kadar zarif değildir. O sırada, Microsoft'un böyle bir kullanım önermeyeceğini düşündüm, bu yüzden aramaya devam ettim.

2. Çevre değişkenini geçirin

İnternette Kestrel URL'leri nasıl yapılandırılır ASP.NET Core RC2'de bir makale gördüm,

Yapılandırma dosyası üzerinden yapılandırılmasına rağmen, yapılandırma bilgilerini diğer makalelere okumasına gerek yoktur ve doğrudan bağlama yoluyla kullanılabilir veya kodu yapıştırarak şunları görebilirsiniz:

hosting.json


Program.cs



Bu şekilde dinleyebiliyor da

Şimdi dinlemek: http://localhost:60000

Şimdi dinlemek: http://localhost:60001

Harika değil mi! Gerçek dövüşe dayanamıyorum, kaynak kodunu çıkar! .NET Core'un en iyi yanı, kaynak koduna sahip olması!

Kaynak kullanarak, bunun esas olarak WebHostBuilder sınıfı olduğunu, Microsoft.AspNetCore.Hosting isim alanı altında olduğunu anlayabiliriz.

Ana yöntem Build



Buradaki ana odak bir WebHost nesnesi oluşturmak ve ardından daha ileriye bakmaktır

Initialize yöntemiyle kaynak koduna bakarak, EnsureServer yöntemiyle oluşturulan URL adresini bilebiliriz




Burada yapılandırmadan _config[WebHostDefaults.ServerUrlsKey] ve _config[DeprecatedServerUrlsKey] okuduğunu görebiliyoruz.

WebHostDefaults.ServerUrlsKey değeri sabit bir değerdir



DeprecatedServerUrlsKey değeri, WebHost nesnesinin başında tanımlanmıştır



Ah! Gerçek ortaya çıkıyor. Böylece yapılandırma dosyasında "server.urls" ayarlayabiliriz.


Özet:

Özetle, asp.net çekirdek başladığında ortam değişkenindeki yapılandırmayı okuyacak ve asıl amaç proje özelliklerine aşağıdaki yapılandırmayı eklemektir:



Konsol modunda başlatıldı ve portun değiştirildiği tespit edildi.

Yani bu bir geliştirme ortamı, üretim hattında nasıl uygulanır? Bu da çok basittir; Linux dağıtımını örnek alarak, programı başlatmak için daemon süpervizörü kullanılarak yöneticinin başlangıç yapılandırmasına ortam değişkenleri ekleyin:


Başarılı ol! Tek bir satır bile kod değiştirmeye gerek yok, haha~




Önceki:Başlatma denicisi: Hata: Başka bir program zaten bir port üzerinde dinliyor...
Önümüzdeki:CSS PC ve cep telefonu genişliği adaptasyonu sorunları
Yayınlandı 6.10.2021 09:49:34 |
İyi şeyler. Sahipe !! sunduğu için teşekkür ederim
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com