Visual Studio ile hem web application projesi hem de web site oluşturabilirsiniz.
- Yeni bir web application projesi oluşturmak için File -> New -> Project’i seçerek veya Ctrl+Shift+N e basarak yeni proje oluşturma sayfasını açabilirsiniz.
- Açılan pencereden aşağıdaki şekilde olduğu gibi Asp.Net Web Application projesini seçebilir, gerekli ayarları aşağıdan yaparak projeyi oluşturabilirsiniz.
- Yeni bir web site oluşturmak için ise File -> New -> Web Site’ı seçerek veya Shift+Alt+N e basarak yeni web site oluşturma penceresini açabilirsiniz.
- Açılan yeni pencerede ASP.NET Empty Web Site’ı seçebilir ve projenin oluşturulacağı dosya yolunu belirterek Web Site’ı oluşturabilirsiniz.
Peki bu iki uygulama arasında ne gibi bir fark var ? Hangisi iyi , hangisi avantajlı bunları senaryolar aracılığı ile inceleyelim.
Web Application Projesinin seçilmesi gereken senaryolar :
- Eğer Visual Studio’nun Edit and Continue(Düzenle ve Devam et) özelliğini kullanmak istiyorsanız,
- Eğer unit test’leri Asp.Net sayfalarının code behind dosyaları içinde kullanmak istiyorsanız,
- Eğer bağımsız sınıflardan kullanıcı kontrolleri ve sayfalar ile ilişkili sınıflara referans verebilmek istiyorsanız,
- Eğer birden fazla web project’e bağımlılık vermek istiyorsanız,
- Eğer bir bütün bir siteye tek bir assembly yaratmak istiyorsanız,
- Eğer site için yaratılan assembly’i versiyonlamak veya assembly ismini yönetmek istiyorsanız,
- Eğer projeyi derlemek için MSBuild veya TeamBuild kullanmak istiyorsanız. Örneğin, projeyi build etmeden önce veya sonra build edilmesini istediğiniz başka bir proje var ise,
- Eğer production(canlı) ortamına kaynak kodları eklemek istemiyorsanız
web application projesini seçebilirsiniz.
Web Site Projesinin seçilmesi gereken senaryolar :
- Eğer bir web projesinde hem C # hem de Visual basic kodlarının kullanılması isteniyorsa,
- Eğer projenizi FTP aracılığıyla gerçek zamanlı olarak Visual Studio’dan değiştirmek istiyorsanız,
- Eğer aktarım için projenizi derlemek zorunda olmak istemiyorsanız. (Kodlarınız çalışma zamanında derlenir)
- Eğer her kullanıcı kontrolü veya sayfa için ayrı assembly’ler oluşturmasını istiyorsanız, aktarımdan önce ön derleme yapabilirsiniz.
- Eğer herhangibi dosyayı production(canlı) ortamında aktarım yapmadan güncellemek istiyorsanız,(ilgili dosyayı kopyala yapıştır yaparak)
- Eğer kodlarınızın yedeğinin production ortamında da olmasını istiyorsanız (Production (canlı)ortamındaki kodları açarak karşılaştırma yapabilirsiniz.)
Web site projesini seçebilirsiniz.
Arasındaki farkların özeti
Area | Web Application Projects | Web Site Projects |
Proje dosya yapısı | Bir Visual Studio proje dosyası(csproj,vbproj) proje ile ilgili bilgileri saklar.(eklenen dosyaları, referans verilen dll’leri, eklenen projeleri) | Bir proje dosyası yoktur. Klasör’e eklenen tüm dosyalar otomatik olarak site’ye eklenir. |
Derleme | Gerliştirme ortamında yapılan bir değişikliği görmek için derleme yapmak zorunludur. | Kaynak kodlar ilk çağrı geldiğinde ASP.NET tarafından otomatik olarak derlenir. |
Varsayılan olarak kod dosyaları tek bir assembly üretir. | İsteğe bağlı olarak her sayfa kendi assembly’sini oluşturabilir. | |
İsim alanları | Sayfalara,kontrollere ve sınıflara isim alanları otomatik olarak eklenir. | İsim alanları otomatik olarak eklenmez ama siz ekleyebilirsiniz. |
Aktarım | Derleme zamanında oluşan assebly’i server’a kopyalayarak aktarım yapabilirsiniz. | Uygulamanın kaynak kodlarını server’da IIS’in bulunduğu klasöre kopyalayarak aktarım yapabilirsiniz. |
Visual Studio Web Deploy eklentisi ile otomatik aktarımı sağlayabilir. | Eğer önderleme yaptıysanız, oluşan assembly’leri IIS’in bulunduğu klasöre kopyalayarak aktarım yapabilirsiniz. | |
Visual Studio otomatik aktarım için Web Deploy’u desteklemektedir. |
Website’ın ftp üzerinden anlık olarak değiştirilebiliyor olması güzelmiş. Önemsiz bir şey yapıyorsak aslında basit durumlarda hiç uğraşmadan direk productionda değiştirebilmek güzel bir rahatlık. Sevdim. 🙂