В настоящее время я работаю над веб-приложением, написанным на ASP.NET с использованием C#.NullReferenceException случайное случайное
У меня есть OleDBDatareader
чтение содержимого веб-страницы, хранящегося в файле .mdb
, и в то же время другой читатель ищет содержимое динамического меню (то же самое .mdb
файл).
При навигации по страницам я случайно получаю NullReferenceEexception
, в котором указано, что читатель равен нулю. Это происходит на случайной странице, и по одному из методов, использующих читатели (не всегда одно и то же).
Вот код меню: http://pastebin.com/TCtj3vxj
А вот код страницы: http://pastebin.com/gYDHkTKv
Спасибо заранее.
Edit 1: Существует живая версия исключение @ win.abbraccio-onlus.it
Edit 2: Вот код db.EseguiReader:
public OleDbDataReader EseguiReader(string _query)
{
OleDbConnection conn = this.getConnessione();
conn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = _query;
cmd.Connection = conn;
return cmd.ExecuteReader();
}
Edit 3: И стек след:
NullReferenceException: Object reference not set to an instance of an object.]
WebApplication3.classi.MenuuService.caricaFigli(String categoria) +322
WebApplication3.Site1.Page_Load(Object sender, EventArgs e) +192
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51
System.Web.UI.Control.OnLoad(EventArgs e) +92
System.Web.UI.Control.LoadRecursive() +54
System.Web.UI.Control.LoadRecursive() +145
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +772
мса доступа и согласования не является хорошим Frien. –
Только одно предложение: используйте агрессивное кеширование и избегайте попадания в БД как можно больше. Правда, в общем, но тем более с MS Access ... BTW, если вы используете Access, ваша БД должна быть размером менее 2 ГБ (если я не ошибаюсь в ограничениях доступа), поэтому он, вероятно, мог бы соответствовать полностью в памяти вашего веб-сервера –
Вы, кажется, используете какой-либо другой класс для открытия DBReader (называемой базы данных). Вероятно, исключение происходит в этом классе, что приводит к возврату нулевого значения. У вас есть источник для этого класса? –