Saya memiliki aksi pengontrol yang berfungsi dengan baik di Firefox baik secara lokal maupun dalam produksi, dan IE secara lokal, tetapi tidak dalam produksi. Ini adalah tindakan pengontrol saya:
public ActionResult MNPurchase()
{
CalculationViewModel calculationViewModel = (CalculationViewModel)TempData["calculationViewModel"];
decimal OP = landTitleUnitOfWork.Sales.Find()
.Where(x => x.Min >= calculationViewModel.SalesPrice)
.FirstOrDefault()
.OP;
decimal MP = landTitleUnitOfWork.Sales.Find()
.Where(x => x.Min >= calculationViewModel.MortgageAmount)
.FirstOrDefault()
.MP;
calculationViewModel.LoanAmount = (OP + 100) - MP;
calculationViewModel.LendersTitleInsurance = (calculationViewModel.LoanAmount + 850);
return View(calculationViewModel);
}
Berikut adalah jejak tumpukan yang saya dapatkan di IE:
Kesalahan. Kesalahan terjadi saat memproses permintaan Anda. System.Reflection.TargetException: Metode non-statis membutuhkan target. di System.Reflection.RuntimeMethodInfo.CheckConsistency (Object target) di System.RefimeMethodInfo.InvokeArgumentsCheck (Object object, BindingFlags invokeAttr, Binder binder, parameter [], Culture [objek], budaya [budayaInfo objek] di Object.Refime. BindingFlags invokeAttr, Binder binder, parameter Object [], CultureInfo culture) di System.Refime.RuntimePropertyInfo.GetValue (Object obj, Object [] index) di System.Data.Objects.ELinq.Quin Object & memberValue) di System.Data.Objects.ELinq.QueryParameterExpression.TryEvaluatePath (Ekspresi ekspresi,
1 forMergeOption) at System.Data.Objects.ObjectQuery
1.Hasil Hasil (Tidak dapat1 forMergeOption) at System.Data.Objects.ObjectQuery
dihapus 1.Sistem.Koleksi.Kumum.Tak terhitung. DapatkanKumumerator () di System.Linq.Tak dapat dihitung.FirstOrDefault [TSource] (1 source) at System.Linq.Queryable.FirstOrDefault[TSource](IQueryable
sumber IEnumerable 1) di LandTitle.Controllers.HomeController.MHRControler (Cluster di metode) , Objek []) di System.Web.Mvc.ReflectedActionDescriptor.Execute (ControllerContext controllerContext, IDictionary2 parameters) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary
2 parameter) di Castle.Proxies.Invocations.ControllerActionInvoker_InvokeActionMethod.InvokeMethodOnTarget () di Castle.DynamicProxy.AbstractInvocation.Proceed () di Glimpse.Mvc3.Interceptor.InvcAction.InvokeActionMetrationInterproject. Castle.Proxies.AsyncControllerActionInvokerProxy.InvokeActionMethod (ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary``2 parameter) di System.Web.Mvc.Async.AsyncControllerActionInvoker. <> C__D33cema. .AsyncControllerActionInvoker. <> C__DisplayClass4f.b__49 () di System.Web.Mvc.Async.AsyncControllerActionInvoker. <> C__DisplayClass37.b__36 (IAsyncResult asyncResult) di System.Web.AsyncControllerActionInvoker. <> C__DisplayClass25. <> C__DisplayClass2a.b__20 () di System.Web.Mvc.Async.AsyncControllerActionInvoker. <> C__DisplayClass25.b__22 (IAsyncResultultult)
sumber
Jawaban:
Saya pikir pengecualian membingungkan ini terjadi ketika Anda menggunakan variabel dalam lambda yang merupakan referensi-nol pada saat run-time. Dalam kasus Anda, saya akan memeriksa apakah kalkulasi variabel AndaViewModel adalah referensi-nol.
Sesuatu seperti:
sumber
Where()
ekspresi lambda. Jawaban bagus; menyelamatkan saya berjam-jam hari ini.Biasanya itu terjadi ketika targetnya nol. Jadi lebih baik periksa target yang dipanggil terlebih dahulu kemudian lakukan permintaan linq.
sumber
Saya menemukan masalah ini lazim di Entity Framework ketika kami membuat Instansi secara manual daripada melalui DBContext yang akan menyelesaikan semua Properti Navigasi. Jika ada referensi Kunci Asing (Properti Navigasi) antara tabel dan Anda menggunakan referensi itu di lambda Anda (misalnya ProductDetail.Products.ID) maka konteks "Produk" tetap nol jika Anda secara manual membuat Entity.
sumber
Semua jawaban menunjuk ke ekspresi Lambda dengan NRE (Null Reference Exception). Saya telah menemukan bahwa itu juga terjadi ketika menggunakan Linq ke Entitas. Saya pikir akan sangat membantu untuk menunjukkan bahwa pengecualian ini tidak terbatas hanya pada NRE di dalam ekspresi Lambda.
sumber
Saya menghadapi kesalahan ini saat menguji WebAPI di alat tukang pos.
Saya harap ini akan digunakan untuk seseorang ...
sumber