Aslında bunun yazılım dilleri dışında başka sebepleri de mevcut.
- Hata toleransı olmadığı için Linux güvenlik optimizasyon daha karışık ve güvenlik optimize edene bağlı. Windows ise genel önlemleri alıyor ince ayarlar kullanıcıya kalıyor. Ek olarak windows da ne ayar yapılırsa yapılsın yeni personel kaldığı yerden devam edebilir. Sürdürülebilirlik var.
- Karşında muhatap var. Devlet kurumları genelde merkezden toplu lisans vs alır ve sorun olduğunda çözüm üretilir.
- Sertifikasyon olayı da var. Kurumlar da yöneticiler genelde detaylı sistem bilmezler ancak windowstan belirli sertifikaları almış insanlar temel düzey bilgisini kanıtlamıştır.
Yukarıda ki maddeler alt yapı ile ilgiliydi. Yazılımsal olarak ele alırsak;
- En başta PHP'de güvenliği yazılımcı almalı, .net'te belli başlı önlemleri kendi alıyor.
- Büyük hitlere yüklere geldiğince .net daha iyi sonuç veriyor.
- Hack vs durumlarında php'de çekirdeğe bulaşabiliyor virüs ama .net öyle değil dll işi garantiye alıyor.
- Sürdürülebilirlik .net te daha kolay.
- Alt yapı ile uyum sayesinde tek bir dil c# ile hem web, hem masaüstü uygulamaları falan rahat yazılabiliyor. Tek elden herşeyi çözebiliyorsun.
- Visual Studio'nun avantajları. Örneğin: Çok basit bir şekilde TFS bağlayıp tüm yazılımcılar ortak çalışabiliyor. ( Git ile de oluyor php tarafında ancak daha zahmetli) Debug modu çok dertten kurtarıyor

- Yönetimsel kolaylığı.
- Saldırı yönünden incelersek linux / php daha çok saldırı alıyor, internette lamerler için bile milyon tane shell vs bulunur ama windows /.net için daha az bulursunuz.
Eskiden PHP kullanan son yıllarda .net'e geçmiş biri olarak gözlemlerim bu yönde. Artı windows daha kurumsal duruyor. Satarken daha pahalı. Eleman alırken daha kolay buluyorsunuz vs vs. İncelerseniz PHP kullanan büyük projelerin çoğunun arkasında sadece php değil milyon tane şey bulursunuz. .NET ise hep sabit tek şey