Soru IIS'de çalışan ASP.NET Core uygulamalarında hata ayıklama


IIS altında çalışırken bir ASP.NET Çekirdek web uygulaması hata ayıklama yolu var mı?

IIS altında çalışıyorum çünkü 443 numaralı bağlantı noktasında SSL üzerinden kullanılabilmem gerekiyor.


25
2018-03-29 22:55


Menşei




Cevaplar:


  1. Web uygulamasını Debug yapılandırmasıyla yayınla
  2. Açıklandığı gibi web sitesinde web sitesini kurun İşte
  3. Dotnet sürecini başlatmak için tarayıcıda web sitesini aç
  4. Visual Studio'da açık Debug -> İşleme Ekle veya Ctrl + Alt + P tuşlarına basın
  5. "Otomatik" veya "Yönetilen (v4.6, v4.5, v4.0)" olan "Ekle" satırında olduğundan emin olun. Değilse, seç tuşuna basın ve "Hata ayıklamak için kodun türünü otomatik olarak belirle" yi seçin.
  6. "Tüm kullanıcıların işlemlerini göster" seçeneğini işaretleyin
  7. seçmek dotnet.exe ve Ekle'ye basın

Not: Birkaç dnx.exe işlemi görürseniz, sütun kullanıcı adında IIS kullanıcısı olanı seçin. Varsayılan olarak "IIS APPPOOL {uygulama havuzu adınız}"

Not; Boş kullanıcı adıyla dotnet işlemini görüyorsanız, Visual studio'u Yönetici olarak çalıştırın.

GÜNCELLEŞTİRME

ASP.Net Core 1.0.0 ile "{youprojectnamet.exe}" dosyasına eklemelisiniz. Örneğin. projenin adı "Web" ise, "Web.exe" ye eklemelisiniz Ayrıca, web.config'ın aşağıdaki bölümünde yöneticinin ismini bulabilirsiniz.

<system.webServer>
   <aspNetCore processPath=".\Web.exe" />
</system.webServer>

45
2018-04-06 13:19



Bu, ancak dotnet çekirdekli çerçeve koduna giremeyeceğinizi ve hatta çerçeveler için yapılan çağrıların içindeki gerçek isimleri göremeyeceğinizi unutmayın. Bunu yapmanın bir yolu varsa, lütfen bu cevabı güncelleyin. - Warren P
Bununla bir şansın var mı? Onu işe alamam mı? Hata ayıklama yayınladım ve pek çok şekilde iliştirmeye çalıştım. Sadece kırılma noktasını vurmayacak. - code5
code5, lütfen güncellenmiş gönderiyi kontrol edin - Vitaly
Bir uygulamayı hata ayıklama yapılandırmasıyla nasıl yayınlıyorsunuz? - Bonner 웃
Projeyi sağ tıklayın, Yayınla'yı seçin, ayarlar sekmesinde Word Hata Ayıklama ile başlayan Yapılandırma'yı seçin. - Vitaly


Faydası, aslında gerçek bir ana bilgisayar adı kullanarak web sitesini kullanabilirsiniz. Bir asp.net çekirdek web api hizmetinde hata ayıklamak için localhost'a bağlanmaya çalışan bir android uygulaması olduğunu düşünün. fiili bir fiziksel ip adresi kullanamayacağınız ve iis üzerinde çalışan bir şeye bağlanamadığınız sürece kurulum için bir acı. Önceden olduğu gibi. Her şey yapılabilir, ancak yeni olduğu takdirde bu otomatik olarak daha pratik olduğu anlamına gelmez. Ve eski hata ayıklama iis seçeneğinin olmaması, üretkenlik açısından geriye doğru bir adımdır.


5
2018-06-28 18:05



Benim kullanım durumum, 443'te https yoluyla kutuma ileten bir Alexa servisi yazıyordu. - Brandon F


Bu gerçekten gerekli mi? ASP.NET Core uygulamaları, IIS'ye (dotnet.exe'yi kullanarak) harici bir işlem olarak çalışır; bu nedenle, IIS aracılığıyla hata ayıklamasıyla elde edilen hiçbir şey yoktur. Arka uç uygulaması düz HTTP üzerinden istek alır.

Daha fazla bilgi için gerçek IIS barındırma ASP.NET Çekirdeği ile nasıl çalışır bu blog gönderisini kontrol etmek isteyebilirsiniz: http://weblog.west-wind.com/posts/2016/Jun/06/Publishing-and-Running-ASPNET-Core-Applications-with-IIS

Visual Studio şu anda tam bir IIS altında hata ayıklamayı desteklemiyor ve bunu duyduğumdan da planlanan bir şey değil. Microsoft, IIS Express ile çalışmayı desteklemektedir ve IIS Express için bir sertifika ayarlayabilirsiniz.

ASP.NET Core projesinde, Debug Project seçeneklerinde bir SSL'yi etkinleştir etkinleştirebileceğiniz seçenek. IIS Express bir yerel sertifika oluşturacak ve uygulamanızı SSL kullanarak ayıklamanıza izin verecektir.

Bu yaklaşımın yararı, sadece F5 tuşuna basmaktır - manuel ek gerektirmez.

enter image description here


3
2018-06-07 06:05



Derleme olmadan görünümler için "kaydetme / yeniden yükleme" senaryoları sağlar, değil mi? - Sedat Kapanoglu
Visual Studio, her zaman tam IIS altında hata ayıklamayı destekler ve destekler. - Bonner 웃
Diğer makinelerden / cihazlardan gelen istekleri ayıklamak gerekirse ne yapmalıyım? IIS Express uzak bağlantıları halleder mi? - Laserson
Bonner - ama ASP.NET Core hata ayıklama değil. Vitali'nin Kestrel'e açık süreç bağlaması kullanarak özetlediği gibi değil. Lserson - IIS Express uzak bağlantılar için kullanılabilir, ancak bunu yapmak için yapılandırmanız ve güvenlik duvarını açmanız gerekir. Daha fazla bilgi için bu blog yayınınızı görün: weblog.west-wind.com/posts/2016/Sep/28/... - Rick Strahl
ASP .NET Core ile en çok özlediğim şey değil Çalıştırmak için CTRL + F5'e basmak (veya hata ayıklamak için F5). Sadece inşa edin, localhost'a (ya da yapılandırdığınız her hangi bir bağlamaya) gidin ve kodunuzu çalıştırın ... - bounav


Sadece geçmişten geçti ve bunun üzerine tökezledi. Bu soruya herkesin gelmesi durumunda ... benim için çözümün çok basit olduğu ortaya çıktı. .Net çekirdek uygulamanızda kimlik doğrulaması kullanıyorsanız, HTTP'yi (hata ayıklama kısmı için) kullanarak temel kimlik doğrulamasını kullandığınızdan emin olun. Daha sonra, IIS'de yalnızca bir ters proxy kurmak için Url Rewrite kullanın. http: // localhost: SOMEPORT .net çekirdek örneği. Bu kadar. Sorun çözüldü. Belki url yeniden yazma işlemi https'yi yakında destekleyecektir ve bu durumda HTTP kullanan temel hata ayıklama amaçları için de kullanılabilir. Hangisi harika olurdu. Fakat şu ana kadar bu kurulum tüm sorunlarımı çözdü.


0
2018-01-09 13:02





Klasik ASP kodunu barındıran bir web sitesinde çalışırken, bir .NET çekirdek alt uygulamasında hata ayıklamamı sağlayan bir çözüm arıyordum.

Looooooka'nın ters vekil çözümü benim için çalıştı ama bunu anlamak için biraz iş çıkardı.

1.) Bu satırı Startup.cs dosyasına ekleyin.

app.UsePathBase("/core");  // core is the name of my subdirectory

"App.UseStaticFiles ();" yazan satırı ÖNCE koyduğunuzdan emin olun.

2.) "URL Rewrite v2" ve "Uygulama İsteği Yönlendirme" kurulumunu yapın

3.) IIS web sitesine (/ core) bir klasör ekleyin ve klasörün içinde şu şekilde bir web.config dosyası oluşturun:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="IISExpressReverseProxy" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                    </conditions>
                    <action type="Rewrite" url="http://localhost:1306/core/{R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

4.) Görsel stüdyodaki proje özelliklerini açın ve hata ayıklama sekmesine gidin. IIS URL'nize "Tarayıcıyı başlat" URL'sini değiştirin.


0
2018-04-30 21:10





Senaryo: IIS Yerel'de çalışan ASP.NET Çekirdek Web Uygulaması Hata ayıklama.

Önkoşul: Var olan Visual Studio yüklemenize "Geliştirme zamanı IIS desteği" ekleyin. Bir sonraki linki takip et: https://blogs.msdn.microsoft.com/webdev/2017/07/13/development-time-iis-support-for-asp-net-core-applications/


1. Visual Studio 2017'de "MvcMovie" adıyla "ASP.NET Çekirdek Web Uygulaması" oluşturun.

1.1. "MvcMovie" projesini aç Özellikleri.

1.1.2. Git "Hata ayıklama"sekme ve ayarlanmış (değilse):

1.1.2.1. "Profil:" "MvcMovie".

1.1.2.2. "Başlat:" "IIS"

1.1.2.3. (kontrol edildi) "Tarayıcıyı başlat:" "https: // localhost"

1.1.2.4. "Ortam değişkenleri:" | Ad: "ASPNETCORE_ENVIRONMENT"                                      | Değer: "Geliştirme" |

1.1.2.5. "Web Sunucusu Ayarları"

1.1.2.5.1. "Uygulama URL'si:" "https: // localhost"

1.1.2.5.2. (işaretli) "Anonim Kimlik Doğrulamayı Etkinleştir"

enter image description here


2. "IIS Yerel" yöneticisi "Web Sitesi Ekle" adında "AspNetCoreMvcMovie" adıyla.

2.1. "Fiziksel yol" ile proje (çözüm değil) klasörü (bizim durumumuzda "D: \ ASP-NET-Core \ ASP-NET-Core-Projects \ MvcMovie \ MvcMovie") olarak ayarlayın.

2.2. Bağlama "Tür": "https".

2.3. "SSL sertifikası": "IIS Express Geliştirme Sertifikası".

2.4. "Tamam" ı tıklayın.

2.5. "Uygulama Havuzları" içine "AspNetCoreMvcMovie" havuzuna göre bul.

2.5.1. "Uygulama Havuzunu Düzenle" seçeneğine ".NET CLR sürümü" öğesini "Yönetilmeyen Kod" olarak ayarlayın.

2.5.2. "Tamam" ı tıklayın.

enter image description here


3. VS 2017 yükseltilmiş izinlerini ayarlayın.

3.1. Böyle bir masajımız varsa: "Microsoft Visual Studio": "Bu görev uygulamanın yükseltilmiş izinlere sahip olmasını gerektirir", sonraki bağlantıda sorun giderme "(Yöntem 2) Uyumluluk sorunlarını giderme": https://social.technet.microsoft.com/wiki/contents/articles/46441.visual-studio-2017-this-task-requires-the-application-to-have-elevated-permissions.aspx

3.2 Bu yöntemin başarılmasından sonra (Yöntem 2), VS-2017 başlayacaktır.

3.3. Çalıştır ("Debug" modunda) IIS profili ile "MvcMovie" uygulaması (IIS Yerel'de çalışacak şekilde ayarlanır ... !!! NOT, IIS Express !!!). Bizim vaka profilinde "Adım 1" de mevcut uygulamanın adı ("MvcMovie") ile ayarlanır.

3.4. Tarayıcıda çalışması için uygulamayı bekleyin.

3.5. Uygulamayı kapatın (web tarayıcısını kapatın).

3.6. Uyumluluk sorun giderme penceresine gidin ve "İleri" ye tıklayın.

3.6.1. Ardından "-> Evet, bu program için bu ayarları kaydedin" i tıklayın.

3.6.2. "Sorunları çözme" işlemi tamamlandığında "Ayarları kaydetme" işlemi tamamlandığında "Sorun Giderme tamamlandı" penceresini görüntülememiz gerekiyor. "Sorun Giderme tamamlandı" penceresinde, "Bulunan Sorunlar" -> "Uyumsuz Program" -> "Sabit" seçeneğini görüntülemek zorundasınız. Ardından "-> Sorun gidericiyi kapatın" i tıklayın.

4. VS-2017'den Çalıştır ("Debug" modunda), IIS profiline sahip tekrar "MvcMovie" uygulaması (bizim adımızda "MvcMovie").

enter image description here



0
2017-08-21 15:00