Saya mencoba untuk mendapatkan situs ASP.NET MVC 3 yang berjalan di IIS 6.0.
Saat ini ketika saya meminta halaman dari server itu memberikan kesalahan berikut:
Pesan Kesalahan Parser: Metode ini tidak dapat dipanggil selama tahap inisialisasi pra-mulai aplikasi.
di baris ini:
<add name="MyMembershipProvider" type="NS.MyMembershipProvider" connectionStringName="MyDatabase" applicationName="/MySite"/>
Saya benar-benar bingung dan tidak memiliki banyak petunjuk tentang siklus hidup aplikasi ASP.NET, apalagi perbedaan antara 6.0 dan 7.0. Membaca halaman MSDN di dalamnya sepertinya tidak banyak membantu.
Apakah ada yang punya wawasan atau tautan bagus untuk penyelidikan? :)
asp.net-mvc
asp.net-mvc-3
sqwerty
sumber
sumber
Jawaban:
Tambahkan ini di web.config Anda (di bagian appSettings):
<add key="enableSimpleMembership" value="false"/> <add key="autoFormsAuthentication" value="false"/>
EDIT:
Bagi mereka yang bertanya mengapa, ini adalah masalah umum yang dijelaskan dalam catatan rilis MVC 3 Detail selengkapnya di sini
sumber
Setelah memutakhirkan beberapa aplikasi saya dari ASP.NET MVC3 ke MVC4, saya mendapatkan kesalahan ini. Itu adalah hasil dari majelis WebMatrix (WebMatrix.WebData.dll dan WebMatrix.Data.dll). Saya menghapus referensi dan rakitan tersebut dari direktori / bin dan yang menangani masalah tersebut.
sumber
@ Ek0nomik benar. Kami bermigrasi dari yang
MembershipProvider
baruExtendedMembershipProvider
sehingga memungkinkan kami memanfaatkan beberapa fungsi baru yang ditawarkan di namespace WebMatrix . Secara default Keanggotaan Sederhana diaktifkan karena beberapa alasan jadi kami harus menonaktifkannya secara eksplisit karena kami tidak ingin menggunakan ekstensiSimpleMembershipProvider
.Yang harus kami lakukan hanyalah menambahkan ini ke web.config:
<add key="enableSimpleMembership" value="false"/>
Memiliki Simple Membership yang diaktifkan menyebabkan kode inisialisasi Penyedia dijalankan sebelum handler Application_Start. Struktur aplikasi kita membutuhkan App_Start untuk menjadi yang pertama dijalankan. Secara pribadi saya akan selalu mengharapkan ini tetapi Keanggotaan Sederhana mengubah perilaku ini. Awas.
sumber
Nah, saya baru saja mendapatkan kesalahan ini, dan ini diakibatkan oleh tidak sengaja menyalin .cshtml ke root proyek saya. Itu bahkan tidak termasuk dalam proyek. Menghapus itu dan kesalahannya hilang. Ini dengan MVC3 di IIS7. Saya membayangkan beberapa orang yang mengalami masalah ini berada di perahu yang sama.
sumber
Hal ini disebabkan oleh salah satu dari sejumlah panggilan Refleksi yang dilakukan terlalu dini dalam Aplikasi. Kebetulan saran Web.Config dalam jawaban lain mencegah salah satu panggilan Refleksi dibuat. Namun dalam kasus saya:
Saya menggunakan Entity Framework, dan menjalankan
update-database
. Saya mendapatkan:Ternyata kami memiliki kode yang menggunakan pustaka yang baru saja dimodifikasi untuk mendapatkan semua kode di semua ruang nama / proyek. Secara khusus, itu disebut:
Kaboom. Itu menyebabkan kesalahan tidak jelas ini. Migrasi EF berjalan di zona aneh di mana aplikasi setengah berjalan dan setengah lagi tidak, yang berarti metode di atas tidak pernah dapat dipanggil oleh kode apa pun yang akan dipanggil oleh Migrasi.
sumber