2009-02-11 25 views
9

Sadece VS2008 bir web sitesi projesi şablonu kullanarak bir şablon temel bir uygulamasını içeren bir cms (N2) kullanmaya başladık. Bunu derlerken, daha fazla kullanacağım bir web uygulaması projesi kullanmaktan çok daha uzun sürdüğünü fark ettim.Web sitesi projeleri vs Web Uygulaması - hangisi daha iyi?

Sorularım şunlardır:

  1. Neden derlemek için çok uzun sürer gibi görünüyor?
  2. kullanmak daha iyidir
  3. ?
  4. Ben bir web uygulaması olan dönüştürmek gerekir?

Bu yineleniyorsa özür dilerim ama benzer bir soru bulamadım.

Alkış

+0

Bu soruya bir göz atın: http://stackoverflow.com/questions/475938/what-is-the-difference-between-web-application-and-website-in-asp-net – M4N

+0

Hayır, sadece Son zamanlarda iş meşgul ve SO zamanında toparlanmış değil ... hepsi bitti artık :-) – WestDiscGolf

+0

olası kopyası [ASP.NET Web Sitesi veya ASP.NET Web Uygulaması?] (http://stackoverflow.com/questions/398037/asp-net-web-site-or-asp-net-web-application) –

cevap

10

Başlıca farklar şunlardır: a Web Uygulaması projesinde

her şey yılında ---- önceden derlenmiş tüm codebehind sayfaları bir .dll derlenmiş olacak olan projede Web Sitesi Projesi şey önceden derlenmiş olup, derleyici geçerli ancak derlenmiş sayfaların hiçbiri yüklenen sağlamak için her şeyi derlemek olacaktır. Bir kullanıcı siteye ilk kez erişmeyi denediğinde, her sayfa kendi dll'sine derlenir. Tek bir codebehind dosya upload edebiliyoruz Bu Web Sitesi Projesi gelir.

Namespaces - Bir Web Uygulaması projesinde ad bir Web Sitesine Projesi değiller varsayılan olarak oluşturulur.

Proje dosyaları - Bir Web Sitesi Projesi bir "cproj" yok mu bir Web uygulaması proje dosyası. Eğer ağır appcode klasörü güvenmek durumunda

Converting to a Web Application project daha zor olabilir o zaman özellikle düşünüyorum.

Kişisel olarak bir Web Uygulaması projelerini tercih ediyorum Kullanımı daha kolay ve dağıtımı daha az rahatsız edici buluyorum. Şahsen sadece web sitesi projesini çok küçük ve basit bir şey üzerinde kullanırdım.

Ekstra okuma Chris tarafından sağlanan bilgi ilaveten MSDN

+0

Güzel, iyi bir özet –

+0

Bir Web Sitesi Projesi'ni de derleyebilirsiniz, böylece tüm kodlar ardında ve App_Code tüm dll dosyalarını ve tüm aspx sayfaları sadece taslaklar. Ancak, bir web uygulaması gibi tek bir dll olarak derlenmezler. – dtc

+0

Evet yapabilirsin, ve yanılıyor olabilirim, msbuild kullanmalısın ve sadece page.dll için .cs dosyası ticareti yapıyorsun. Ben o daha hızlı ilk kez başlangıç ​​ – cgreeno

1

dışında, ayrıca Web Uygulama Projeleri için, Profiller kutunun dışında kullanılamaz dikkat etmelidir: Orada

http://www.codersbarn.com/post/2008/06/01/ASPNET-Web-Site-versus-Web-Application-Project.aspx

Burada bir geçici çözüm kullanılabilir: http://code.msdn.microsoft.com/WebProfileBuilder Temel olarak, Web uygulama projesi profil nesnesine sahip au Web sayfası projesinde olduğu gibi her sayfaya tomatik olarak eklendiğinden, web.config dosyasında tanımlanan profil özelliklerine güçlü bir şekilde yazılan programlı erişim elde edemiyoruz.

Anthony

+0

Bunun için +1 teşekkürler, ben daha önce kullanmadım olarak bu konuda bilmiyordum :-) – WestDiscGolf

+0

Hiçbir prob. Aslında N2 ile kendimi tamir etmeyi planlıyorum ama bunun bir web sitesi projesine bağlı olduğunun farkında değildim :-) – IrishChieftain

1

Benim tercihi :-) web uygulaması üzerinden Sitesi projesini kullanmaktır. Özellikle geliştirme sırasında sayfayı yürütmek için "Tarayıcıda Görüntüle" ye güveniyorum ve f5 değil. Tarayıcı penceresini açık bırakabilir ve çalışma zamanı tarayıcısını kapatmadan kodu değiştirebilirim. Genellikle hata ayıklamaya ihtiyacım varsa IDE'yi uygun işleme eklerim. Benim deneyimime göre derlemek veya değişiklik yapmak zorunda olduğum her zaman uygulamayı derlemek ve yeniden başlatmak yerine bu şekilde yapmak çok daha verimli. Uygulamanın bir giriş sayfası varsa, bu daha da büyütülür. F5'e her basıldığında, giriş yapılması gerekir. Ama tercih etmek değildir.

+0

+1 Geçerli nokta ve üzerinde çalıştığım web sitelerinde bunu kullanıyorum. İlginçtir ki, bu, asp.net mvc uygulama projeleriyle nasıl çalışabileceğiniz; build> yenilemek, IDE gerekli f5 yok. Sadece yazdıklarınıza ve elde etmeye çalıştığınız şeye bağlıdır. – WestDiscGolf