2016-11-16 3 views
0

я в настоящее время есть контроллер в моем WebAPI что возвращающий список некоторых элементов в моей базе данных:System.AccessViolationException неизвестного модуль

ниже:

public ICollection<TherapyGroup> OffUnit() 
{     
     return _context.TherapyGroups.OrderBy(g => g.Name) 
        .Where(x => x.GroupTypeOffUnitOnUnit == TherapyGroup.OffUnit) 
        .ToList();    
} 

Все хорошо, когда я тестирую против работы моя локальная база данных; однако, когда я выключаю строку базы данных для удаленной базы данных, она генерирует исключение System.AccessViolationException. Исходя из точек останова, данные возвращаются из базы данных в порядке, и кажется, что проблема возникает, когда метод возвращается в WebApi в MVC. Это стало очень неприятной проблемой, и я хотел бы помочь любой навигации.

окно ошибки, выскакивает: enter image description here

+1

Можете ли вы предоставить трассировку стека из исключения, которое вы видите? –

+0

Я не вижу трассировку стека ... Обратите внимание, что нарушение происходит в неизвестном модуле. –

+0

Пожалуйста, добавьте блок try catch в свой код. Затем добавьте больше деталей. – Bigeyes

ответ

0

Украсьте методы, которые вы хотите, чтобы поймать эти исключения с использованием атрибута HandleProcessCorruptedStateExceptions. См. https://msdn.microsoft.com/en-us/magazine/dd419661.aspx#id0070035.

[HandleProcessCorruptedStateExceptions] 
[SecurityCritical] 
public ICollection<TherapyGroup> OffUnit() 
{ 
     try 
     { 
      return _context.TherapyGroups.OrderBy(g => g.Name).Where(x => x.GroupTypeOffUnitOnUnit == TherapyGroup.OffUnit).ToList(); 
     } 
     catch (Exception e) 
     { 
      // set break point to see the stack trace. 
      Debug.WriteLine(e.InnnerException); 
      return null; 
     } 
} 
+0

Я сделал это. Кажется, он не достигает точки разрыва. Это говорит о том, что проблема происходит после возвращения. –

+0

@CodyShort, вы можете добавить '' в свой файл конфигурации. Также, пожалуйста, посмотрите [здесь] (http://stackoverflow.com/questions/2950130/how-to-simulate-a-corrupt-state-exception-in-net-4). – Bigeyes

+0

Я думаю, что мне доводилось выпускать. Я полагаю, что типы данных в sql-сервере v10 (удаленный) и v9 (локальный) в некотором роде отличаются (возможно, с датами?) Кажется, я беру объект и использую его строка для подготовки объекта возвращаемого объекта работает. –