Я написал новый DAL и BLL, но когда я пытаюсь создать экземпляр моего класса, я получаю ошибку Object Reference, есть ли что-то конкретное, что я должен искать? Я довольно новичок в этой концепции?
Звонок такой:
Protected Sub btnSignin_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btnSignin.Click
Dim l As New Log()
l.Log = "Attempted staff login with username [" & txtUsername.Text & "] and password [" & txtPassword.Text & "]"
l.LogId = 0
l.StaffId = 0
l.LogDate = Date.Now()
l.Insert()
Вызов 'Insert', в котором я получаю ошибку ссылки, вызывает эти функции в моем BLL (BLL / Log.vb);
Imports Microsoft.VisualBasic
Imports System.Collections.Generic
Imports System.Transactions
Imports System.Text
Imports Harmony.Zizz.DAL
Namespace Harmony.Zizz.BLL.Zizz
Public Class Log
Inherits BaseZizz
Protected _logid As Integer = 0
Protected _log As String = ""
Protected _staffid As Integer = 0
Protected _logdate As DateTime = Date.Now
Public Sub New()
End Sub
Public Sub New(ByVal logid As Integer, ByVal log As String, ByVal staffid As Integer, ByVal logdate As DateTime)
End Sub
'////property setup removed for brevity ////
Public Property LogId() As Integer
Public Property Log() As String
Public Property LogDate() As DateTime
Public Function Insert() As Integer
Return Harmony.Zizz.BLL.Zizz.Log.InsertLog(Me.LogId, Me.Log, Me.StaffId, Me.LogDate)
End Function
Public Shared Function InsertLog(ByVal logid As Integer, ByVal log As String, ByVal staffid As Integer, ByVal logdate As DateTime) As Integer
HttpContext.Current.Trace.Write("Fired InsertLog BLL (log.vb) Line 61")
Using scope As New TransactionScope()
HttpContext.Current.Trace.Write("Within InsertLog BLL Transaction Scope (log.vb) Line 63")
Dim record As New LogDetails(logid, log, staffid, logdate)
HttpContext.Current.Trace.Write("Created LogDetails Object InsertLog BLL (log.vb) Line 65")
Dim ret As Boolean = SiteProvider.Zizz.InsertLog(record)
HttpContext.Current.Trace.Write("Inserted LogDetails object into SiteProvider InsertLog BLL (log.vb) Line 61")
scope.Complete()
Return ret
End Using
End Function
End Class
End Namespace
Трассировка стека попадает в строку Dim ret As Boolean = SiteProvider
. Звонки SiteProvider содержат этот код, и я думаю, что это происходит из-за ошибки, но я не знаю, почему - или как это исправить ---:
Imports Microsoft.VisualBasic
Namespace Harmony.Zizz.DAL
Public NotInheritable Class SiteProvider
Public Shared ReadOnly Property Zizz() As ZizzProvider
Get
Return ZizzProvider.Instance
End Get
End Property
End Class
End Namespace
Помощь, если она может быть оказана, будет очень цениться. Intellisense не выделяет никаких проблем, и если я создаю веб-сайт в VS, я получаю несколько предупреждений об информации схемы в файле web.config (не связан), в противном случае нет проблем.
Помощь оценена.