Я не понимаю, почему в моей системе истекло время ожидания выполнения, и моя цель - найти блок кода, который дает мне исключение для его оптимизации. Когда я отлаживаю, он приходит к этой строке: this.claimsBS.DataSource;
и затем я получаю это исключение (см. Описание изображения). снимок окна исключений . Я хочу оптимизировать мой код, у меня есть несколько таблиц БД, заблокированных предложением TABLOCKX, и я хочу спроектировать свое решение так, чтобы оно исключалось, даже если таблицы заблокированы из-за большого количества обращений к БД и так много пользователей, которым моя система дает ответы с мои хранимые процедуры с использованием (с (nolock)) предложения.
Я уже установил точку останова отладки при каждом использовании моего свойства Persons, которое выбрасывает исключение, и никогда не останавливает точку останова перед выполнением конфликтующей строки.
Это стек вызовов
/// <summary>Gets or sets the Persons relation property.</summary>
[RelationProperty("Persons_Claims",
QueryDirection.ParentQuery)]
[BeforeSetValue]
[AfterSetValue]
public virtual Persons Persons {
get {
Persons result_;
if (GetInterceptor<Persons>("Persons", GetPersonsImpl, out result_)) return result_;
return GetPersonsImpl();
}
set {
if (BeforeSetValue("Persons", value)) {
if (!SetInterceptor<Persons>("Persons", value, SetPersonsImpl)) {
SetPersonsImpl(value);
}
AfterSetValue("Persons");
}
}
}
private Persons GetPersonsImpl() {
return GetParent<Persons>(EntityRelations.Persons_Claims, this.PersistenceManager.DefaultQueryStrategy); //Conflicting Line
}
private void SetPersonsImpl(Persons value) {
if (value == null) {
SetNull(this.InsuredPersonColumn);
} else {
SetColumnValue(this.InsuredPersonColumn, value, value.PersonIdColumn);
}
OnPropertyChanged(new PropertyChangedEventArgs("Persons"));
}
Заявки на доступ уже исправлены. Доступ людей - это тот, который я не выдерживаю с мячом.