altında çalışıp çalışmadığını program aracılığıyla belirleme Bunun mümkün olduğundan emin değilim, ancak şu anda çalıştırılan kodun IIS Express altında çalışıp çalışmadığını belirlemek için bir ipucu bekliyorum. inanılmaz hackish ve kesinlikle bir noktada/mola başarısız olur şimdiye kadar benim en iyi yaklaşım,:Kodun IIS Express
bool IsExpress =
Request.ServerVariables["SERVER_SOFTWARE"] == "Microsoft-IIS/7.5"
&& Int32.Parse(Request.ServerVariables["INSTANCE_ID"]) > 1000000000;
Kesinlikle orada vardır daha iyi bir yolu olmalı. Uygulama, Sunucu ve İstek nesnelerinin incelenmesi, daha iyi bir anlayış sağlayabilecek herhangi bir şey ortaya koymadı. Belki başka bir nesneye bakmam gerek?
Güncelleme:
Bunu algılamak için bir yol olup olmadığını gerçekten merak ediyorum - ben bir yakma yok bu noktada gerçekten akademik olduğunu kullanmak gerekir. Asıl soru duruyor. Ancak yorumlara cevap verme ruhu içinde, özellikle bu sitedeki başka bir soru/cevaptan gelen bir eleştiriyi yanıtlamakla ilgileniyorum: How to search the server's MIME map. Eleştiri, yayınlanan yanıtın yalnızca geleneksel IIS örnekleri olan IIS Express için çalışmadığı yönündedir. IIS Express, applicationhost.config XML dosyasındaki MIME yapılandırmasını depolar ve bu yanıtı IIS Express için de döndürmek için bir yol sağlamak üzere bu güncelleştirmeyi güncelleştirmek isterim. XML'den uygun değeri (LINQ'den XML'e!) Yakalayan bir kod ekleyebilirim, ancak bunu daha akıllı yapmak isterim. Açık olmak gerekirse, bu dosyayı ayrıştırma konusunda yardıma ihtiyacım yok - kodun şu anda IIS Express altyapısında çalışıp çalışmadığını tespit etmeye çalışırken daha zarif bir şey.
Güncelleme 2:
8.0 Express Beta IIS released this week oldu ve daha da benim söz konusu yaklaşım kırılgandır ve kıracak olduğunu göstermek için gider. Belirli bir sürümü hedeflemek için bir anlaşma kırıcı olmasa da, bunu hesaba katmak ve kodun en azından bilinen sürümlerle bugün çalışacağından emin olmak isteriz.
Amacınız nedir? Bunu neden anlamak istersiniz (belki de hedefinize ulaşmak için başka bir yol var)? – Yahia
IIS Express'te çalışıyorsa, farklı işlemek için ne istiyorsunuz? Belki de, IIS Express'i nasıl algılamak yerine, sormanız gereken soru budur. Örneğin, "hata ayıklamasında çalışırken _____ yerine _____ nasıl yaparım?" –
Bazı yapılandırma öğelerini incelemek için etrafa odaklanır - DirectoryExntry ("IIS:/localhost/W3SVC /") kullanarak IIS Express'i kontrol eden applicationhost.config dosyasında XML ayrıştırılır. – Goyuix