Saya telah membangun aplikasi web .net4.5 ASP.NET MVC4 yang berfungsi dengan baik secara lokal (IIS Express & dev server) tetapi begitu saya menyebarkannya ke server web saya, itu menimbulkan kesalahan 403. Saya telah menginstal .Net 4.5RC di server dan bahkan mencoba
aspnet_regiis -i
sedikit yang direkomendasikan semua orang untuk masalah mereka dengan versi MVC / .Net sebelumnya tetapi itu tidak membantu.
Ada ide?
EDIT : Info lebih lanjut tentang situasinya. Servernya 32bit dan saya punya 4 aplikasi MVC3 lain yang berfungsi dengan baik. Hanya aplikasi MVC4 saya yang tidak berfungsi.
.net
asp.net-mvc
asp.net-mvc-4
iis
http-status-code-403
mithun_daa
sumber
sumber
Jawaban:
Mencoba
<system.webServer> <modules runAllManagedModulesForAllRequests="true"/> </system.webServer>
Melalui
/server/405395/unable-to-get-anything-except-403-from-a-net-4-5-website
sumber
Kesalahan 403.14 adalah kode kesalahan HTTP karena tidak diizinkan untuk mencantumkan konten direktori. Harap pastikan itu
Biasanya, a dan d adalah masalah terbesar seputar penerapan MVC ke IIS
sumber
Mungkin ... Jika Anda kebetulan menggunakan Wisaya Penerbitan (seperti yang saya lakukan) dan memilih kotak centang "Prakompilasi selama penerbitan" (seperti yang saya lakukan) dan melihat gejala yang sama ...
Ya, saya menyalahkan diri sendiri, tetapi setelah menghapus centang pada kotak ini, pengaturan yang tampaknya tidak terkait, semua gejala yang dijelaskan hilang setelah dipekerjakan kembali.
Semoga ini memperbaiki beberapa orang.
sumber
Windows-> Mulai -> Mengaktifkan dan menonaktifkan fitur janda
Pastikan Anda memeriksa opsi yang diperlukan di
sumber
Sebelum melamar
runAllManagedModulesForAllRequests="true"/>
pertimbangkan tautan di bawah ini yang menyarankan alternatif yang tidak terlalu drastis. Dalam posting penulis menawarkan perubahan berikut ke web.config lokal:
<system.webServer> <modules> <remove name="UrlRoutingModule-4.0" /> <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" /> </modules>
http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html
sumber
Ada Refactor -> Rename Bug di Visual Studio 2012 yang salah mengganti nama "id" di dalam nilai string literal dari parameter url di RouteConfig.cs saya. Hal ini menyebabkan 403.14 pada penyiapan baru dan sebaliknya benar di Windows Server 2012 dan Windows Server 2008 R2.
routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } );
diubah menjadi
routes.MapRoute( name: "Default", url: "{controller}/{action}/{renamed_text}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } );
sumber
null
untukname
parameter untuk menghindari membuat up nama untuk setiap rute. Ternyata hal ini juga terkadang menyebabkan 403 (hanya di lingkungan prod kami, Win Server 2008 R2 menjalankan .NET 4.5.1, MVC 5 dalam proyek VS2013. Untuk menyelesaikannya, saya menambahkan nama untuk setiap rute.Anda juga bisa mendapatkan 403 jika saat menguji dengan server dev Anda menggunakan pipeline terintegrasi dan kemudian menginstal sebagai mode pipeline klasik di server web IIS 7.5 langsung Anda, juga saya kehilangan folder app_data saya yang juga diperlukan
sumber
Jika Anda menjalankan IIS 8.5 di Windows 8, atau Server 2012, Anda mungkin menemukan bahwa menjalankan mvc 4/5 (.net 4.5) tidak berfungsi di direktori virtual. Jika Anda membuat entri host lokal di file host untuk diarahkan kembali ke mesin lokal Anda dan kemudian mengarahkan situs web IIS lokal baru ke folder itu (dengan entri header host yang cocok), Anda akan menemukannya berfungsi kemudian.
sumber
<system.webServer> <modules runAllManagedModulesForAllRequests="true"/> </system.webServer>
Anda dapat menggunakan kode di atas
sumber
Saya telah menyetel pool aplikasi aplikasi baru ke
DefaultAppPool
dalam IIS yang jelas-jelas menggunakanClassic
pipeline dengan.NET v.2.0
.Untuk mengatasi masalah ini saya membuat App Pool baru menggunakan
Integrated
pipeline dan.NET v4.0
. hanya untuk aplikasi baru ini dan semuanya mulai bekerja seperti yang diharapkan.Jangan lupa untuk menetapkan kumpulan aplikasi baru ini ke aplikasi. Pilih aplikasi di IIS, klik
Basic Settings
lalu pilih kumpulan aplikasi baru untuk aplikasi tersebut.sumber
yang saya lihat lebih sering baru-baru ini adalah IIS dan memungkinkan aplikasi 32-bit untuk dijalankan
Apakah ini yang telah Anda coba. jika tidak, kami memerlukan informasi lebih lanjut tentang produksi dan versi server dev
sumber
Saya memiliki masalah yang sedikit berbeda, di server 2012 entah bagaimana saya lupa mengaktifkan asp.net 4.5 jadi jika Anda mengalami masalah ini, periksa kembali apakah Anda mengaktifkannya.
sumber
Saya menjalankan Windows Server 2012 R2 di Azure dan ASP.NET 4.5, IIS 8
Saya memecahkan masalah ini dengan menghapus semua item ASP.NET di Program dan Fitur, lalu menginstal ulang ASP.NET seperti ini dengan Server Manager menggunakan Add Roles and Features: memilih instalasi Role-Based atau Feature-Based, memilih server saya, dan kemudian untuk Pilih Peran Server memilih Server Web (IIS) / Server Web / Pengembangan Aplikasi, kemudian mengklik ASP.NET 4.5, mengonfirmasi penginstalan prasyarat, dan kemudian menginstal ulang ASP.NET 4.5.
Pencarian saya sebelumnya telah membuat saya percaya bahwa masalahnya sebenarnya berasal dari masalah pendaftaran dengan ASP.NET. Dengan versi ASP.NET sebelumnya, sebenarnya ada utilitas yang dapat Anda jalankan untuk mendaftarkan ASP.NET tanpa menginstal ulang, tetapi tampaknya tidak tersedia lagi.
sumber
Saya memecahkan masalah membuka studio visual, memperluas referensi dan mengubah properti "Salin Lokal" menjadi "Benar".
Saya menemukan ini membandingkan dll dari versi lama dengan DLL versi baru saya (yang tidak berfungsi)
sumber
Dalam kasus saya, halaman default aplikasi saya adalah index.html yang hilang dari opsi dokumen default. Menambahkannya memperbaiki kesalahan Terlarang 403.14.
sumber
Dalam kasus saya, masalah ini disebabkan oleh ActionFilterAttribute kustom yang merupakan semacam atribut filter global. Atribut membuat instance layanan melalui Autofac tetapi layanan mengalami error di konstruktor:
public ActionFilterAttribute() { _service = ContainerManager.Resolve<IService>(); } public class Service: IService { public Service() { throw new Exception('Oops!'); } }
sumber
Dalam kasus saya, Fitur Windows juga
aspnet_regiis -i
tidak berfungsi. Setelah berjam-jam menggali di Internet, saya membuat solusi sendiri:Di manajer IIS di modul saya mengubah mewarisi lokal di simpul UrlRoutingModule-4.0:
Di web.config saya menempelkan campuran beberapa tip dari forum ini:
<system.webServer> <modules runAllManagedModulesForAllRequests="true"> <remove name="UrlRoutingModule-4.0"></remove> <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition=""></add> </modules> </system.webServer>
Semoga membantu
sumber