0

MVC Web アプリを Windows 共有ホストにデプロイしました。データベースとの通信が必要な操作を行うたびに、NullReferenceException エラーが発生し続けます。コンテキスト クラスの使用をバイパスし、メソッド内の Sql 接続 (SQLConnection、SqlCommand、SQLAdapter のように) などを使用すると、データベース内のデータが検出されることに気付きました。ただし、通常のエンティティ フレームワークを使用してもエラーが発生します。これは、Visual Studio のデバッグ モードで実行した場合ではなく、ライブ サイトでのみ発生することに注意してください。

誰でも助けることができますか?私はそれが私のホストと関係があると感じています。

アップデート

これは、モデルの 1 つだけにアクセスしたときに発生するエラーです。

[NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。] ASP._Page_Views_InvoiceAdmin_Index_cshtml.Execute() in f:\Domains\ROM30\proopt.co.za\proopt.co.za\proopt.co.za\Views\ InvoiceAdmin\Index.cshtml:40 System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +197 System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +103 System.Web.WebPages.StartPage.RunPage() +17 System.Web. WebPages.StartPage.ExecutePageHierarchy() +62 System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +76 System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) + 256 System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter ライター) +107 System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +291 System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) +13 System.Web.Mvc.<>c_DisplayClass1a.b _17() +23 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter フィルター、ResultExecutingContext preContext、Func 1 continuation) +245 System.Web.Mvc.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19() +22 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList1 フィルター、ActionResult actionResult) +176 System.Web.Mvc.Async.<>c_ DisplayClass2a.b _20() +75 System.Web.Mvc.Async.<>c_ DisplayClass25.b _22(IAsyncResult asyncResult) +99 System.Web.Mvc.Async.WrappedAsyncResult 1.End() +50 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27 System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult) +14 System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +23 System.Web.Mvc.Async.WrappedAsyncResult1.End() +55 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult) asyncResult) +39 System.Web.Mvc.Async.<>c_ DisplayClass4.b _3(IAsyncResult ar) +23 System.Web.Mvc.Async.WrappedAsyncResult1.End() +55 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +29 System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10 System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult) +25 System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +23 System.Web.Mvc.Async.WrappedAsyncResult1.End() +55 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +31 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult 結果) +9 System.Web.CallHandlerExecutionStep.System .Web.HttpApplication.IExecutionStep.Execute() +9628700 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

私のcshtmlビューでこれを引き起こしているコードは@foreach (var item in Model)

私のホストの信頼レベルは中程度です。

更新 2

OK、Visual Studio から新しい MVC アプリをデプロイしようとしましたが、モデルにアクセスしようとしてもエラーは発生しませんでした (単純な学生モデルを作成し、データベースに新しい「学生」を作成しましたが、これは動作しません)。私の実際のMVCアプリ。

アップデート 3

これが私のモデルにデータを設定する私の DbContext クラスです。

namespace ProOptInteractive.Models
{
    public class OnlineEntities : DbContext
    {
        public DbSet<Product> Products { get; set; }
        public DbSet<Service> Services { get; set; }
        public DbSet<ProductCategory> ProductCategories { get; set; }
        public DbSet<ServiceCategory> ServiceCategories { get; set; }
        public DbSet<Supplier> Suppliers { get; set; }
        public DbSet<Cart> Carts { get; set; }
        public DbSet<Order> Orders { get; set; }
        public DbSet<OrderDetail> OrderDetails { get; set; }
        public DbSet<Callout> Callouts { get; set; }
        public DbSet<CalloutDetail> CalloutDetails { get; set; }
        public DbSet<Invoice> Invoices { get; set; }
        public DbSet<Client> Clients { get; set; }
        public DbSet<LiabilityRate> LiabilityRates { get; set; }
        public DbSet<Technician> Technicians { get; set; }
        public DbSet<QualificationLevel> QualificationLevels { get; set; }
    }
}

私の接続文字列は次のとおりです。

4

0 に答える 0