2013-01-14 19 views
5

Bu, localhost üzerinde çalışır, ancak web sunucusunda varsayılan bir belge bulamaz ve dizin taramasının devre dışı bırakılması konusunda şikayette bulunur. IIS7 hem ve hem de web siteleri/uygulama havuzları aynı şekilde yapılandırılmış gibi görünüyor.MVC4 web api web sunucusuna dağıtıldığında varsayılan belgeyi bulamıyor

Gerçekten de hiç görüntülemeyen VS2012'deki web api şablonunu kullandım. HomeController'da yalnızca bir dizin denetleyici eylemi vardır.

Bunun iki ortamda neden farklı davranışlar üretebileceğine dair herhangi bir fikir var mı?

+0

Sadece meraktan, bu sunucuya daha önce bir MVC uygulaması yayınladınız mı? – Anonymous

+0

Evet, beklendiği gibi çalışan başka bir MVC sitesi var (farklı bir bağlantı noktasında). – natpen

cevap

8

Yani benim web.config için bu ekleme:

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true" /> 
<system.webServer> 

sorun giderildi. Windows7 Server üzerinde IIS7 için web.config dosyasında, ancak Windows 7'de IIS7 için gerekli görünmüyor gibi görünüyor.

+1

Sadece bu konuda yaklaşık 1/2 gün israf, bir milyon teşekkür! – Neil

+0

Teşekkürler! Web api'yi el ile dağıtırken veya bir web paketi kullanırken bu sorunu yaşıyorum. – sp1111

0

Bu hatayı alıyorum IIS7'de bir MVC4 uygulaması yayımlamaya çalışan bir kullanıcı vardı, çıktı kullanıcı .Net 2 yerine .Net 2 kullanmak için uygulama havuzunu ayarladığından, yukarıdaki hatayı aldıkları halde bu hatayı belirten bir hata almak yerine, yalnızca yukarıdaki modülü eklediğimizde gerçek sorun ortaya çıkarıldı.