Исключение ASP.NET дает неактуальную трассировку стека в YSOD, что очень сложно! - PullRequest
3 голосов
/ 24 мая 2010

Вот YSOD:

Истекло время ожидания. Время ожидания истекло до завершения операции или сервер не отвечает. Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.Data.SqlClient.SqlException: истекло время ожидания. Время ожидания истекло до завершения операции или сервер не отвечает.

Ошибка источника: Во время выполнения текущего веб-запроса было сгенерировано необработанное исключение. Информация о происхождении и местонахождении исключения может быть идентифицирована с помощью приведенной ниже трассировки стека исключений.

Трассировка стека:

[SqlException (0x80131904): истекло время ожидания. Период ожидания истек до завершения операции или сервер не отвечает.] System.Data.ProviderBase.DbConnectionPool.GetConnection (DbConnection owningObject) +428 System.Data.ProviderBase.DbConnectionFactory.GetConnection (DbConnection owningConnection) +65 System.Data.ProviderBase.DbConnectionClosed.OpenConnection (DbConnection externalConnection, DbConnectionFactory connectionFactory) +117 System.Data.SqlClient.SqlConnection.Open () +122 ECommerce.PMethod.Sql.SqlConns.Open () +78 ECommerce.PMethod.Sql.SqlConns..ctor () +120 ECommerce.login.DatasInfo.Proc.UserCenter.IsLogin (String UserGUID, Int32 UserID) +49 ECommerce.login.Rules.Users.UserLogin.isLogin () +44 Config.isUserLogined () +5 Shopping_Shopping.Page_Load (Отправитель объекта, EventArgs e) +10 System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, Объект o, Объект t, EventArgs e) +14 System.Web.Util.CalliEventHandlerDelegateProxy.Callback (Отправитель объекта, EventArgs e) +35 System.Web.UI.Control.OnLoad (EventArgs e) +99 System.Web.UI.Control.LoadRecursive () +50 System.Web.UI.Page.ProcessRequestMain (логическое значение includeStagesBeforeAsyncPoint, логическое значение includeStagesAfterAsyncPoint) + 627

[TypeInitializationException: инициализатор типа для ECommerce.ERP.DAL.DBConn вызвал исключение.] ECommerce.ERP.DAL.DBConn.get_ConnString () + 0

[ObjectDefinitionStoreException: фабричный метод 'System.String get_ConnString ()' вызвал исключение.] Spring.Objects.Factory.Support.SimpleInstantiationStrategy.Instantiate (определение RootObjectDefinition, имя строки, фабрика IObjectFactory, метод MethodInfo factoryMethod, аргументы Object []) +257 Spring.Objects.Factory.Support.ConstructorResolver.InstantiateUsingFactoryMethod (имя строки, определение RootObjectDefinition, аргументы Object []) +624 Spring.Objects.Factory.Support.AbstractAutowireCapableObjectFactory.InstantiateUsingFactoryMethod (имя строки, определение RootObjectDefinition, аргументы Object []) +60 Spring.Objects.Factory.Support.AbstractAutowireCapableObjectFactory.CreateObjectInstance (String objectName, RootObjectDefinition objectDefinition, Object [] arguments) +56 Spring.Objects.Factory.Support.AbstractAutowireCapableObjectFactory.InstantiateObject (имя строки, определение RootObjectDefinition, аргументы Object [], логическое allowEagerCaching, логическое suppressConfigure), + 436

[ObjectCreationException: ошибка, вызванная зависимостью объекта 'styleService', определенного в сборке [ECommerce.Services.Impl, версия = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null], ресурс [ECommerce.Services.Impl. AppContext.xml] строка 56 ': инициализация объекта завершилась неудачно: фабричный метод' System.String get_ConnString () 'вызвал исключение. при разрешении «аргумента конструктора с именем promoservice» в «PromotionService», определенное в «сборке [ECommerce.Services.Impl, версия = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null], ресурс [ECommerce.Services.Impl.AppContext.xml ] строка 31 'при разрешении «аргумента конструктора с именем domainservice» в «PromotionDomainService», определенный в «сборке [ECommerce.Domain, версия = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null], ресурс [ECommerce.Domain.AppContext.xml] строка 20» при разрешении «аргумента конструктора с именем promorepos» в «promoRepos», определенного в «сборке» [ECommerce.Data.AdoNet, версия = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null], ресурс [ECommerce.Data.AdoNet.AppContext.xml ] строка 34 ' при разрешении аргумента конструктора с именем connstr в ECommerce.ERP.DAL.DBConn # 389F399, определенного в сборке [ECommerce.Data.AdoNet, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = null], ресурс [ECommerce .Data.AdoNet.AppContext.xml] строка 34 '] Spring.Objects.Factory.Support.ObjectDefinitionValueResolver.ResolveReference (определение IObjectDefinition, имя строки, имя аргумента строки, ссылка RuntimeObjectReference) +394 Spring.Objects.Factory.Support.ObjectDefinitionValueResolver.ResolvePropertyValue (строковое имя, определение IObjectDefinition, строковое аргументName, аргумент объектаValue) +312 Spring.Objects.Factory.Support.ObjectDefinitionValueResolver.ResolveValueIfNeeded (имя строки, определение IObjectDefinition, имя-строки-аргумента, значение-аргумента объекта) +17 Spring.Objects.Factory.Support.ConstructorResolver.ResolveConstructorArguments (определение String objectName, определение RootObjectDefinition, обертка ObjectWrapper, константы ConstructorArgumentValues, решенный параметр ConstructorArgumentValuesValues) +993 Spring.Objects.Factory.Support.ConstructorResolver.AutowireConstructor (String objectName, стержень RootObjectDefinition, ConstructorInfo [] selectedCtors, Object []licitArgs) +171 Spring.Objects.Factory.Support.AbstractAutowireCapableObjectFactory.AutowireConstructor (имя строки, определение RootObjectDefinition, cstructorInfo [], операторы [Object]] [): +65 Spring.Objects.Factory.Support.AbstractAutowireCapableObjectFactory.CreateObjectInstance (String objectName, RootObjectDefinition objectDefinition, Object [] arguments) +161 Spring.Objects.Factory.Support.AbstractAutowireCapableObjectFactory.InstantiateObject (имя строки, определение RootObjectDefinition, аргументы Object [], логическое allowEagerCaching, логическое suppressConfigure), +636 Spring.Objects.Factory.Support.AbstractObjectFactory.CreateAndCacheSingletonInstance (String objectName, RootObjectDefinition objectDefinition, Object [] arguments) +174 Spring.Objects.Factory.Support.WebObjectFactory.CreateAndCacheSingletonInstance (String objectName, RootObjectDefinition objectDefinition, Object [] arguments) +150 Spring.Objects.Factory.Support.AbstractObjectFactory.GetObjectInternal (имя строки, тип requiredType, аргументы Object [], логическое значение suppressConfigure) +990 Spring.Objects.Factory.Support.AbstractObjectFactory.GetObject (имя строки) +10 Spring.Context.Support.AbstractApplicationContext.GetObject (String name) +20 ECommerce.Common.ServiceLocator.GetService () +334 ECommerce.Mvc.Controllers.StylesController..ctor () + 72

[TargetInvocationException: исключение было сгенерировано целью вызова.] System.RuntimeTypeHandle.CreateInstance (тип RuntimeType, логический publicOnly, логический noCheck, логический и canBeCached, RuntimeMethodHandle & ctor, логический & bNeedSecurityCheck) +0 System.RuntimeType.CreateInstanceSlow (логический publicOnly, логический fillCache) +86 System.RuntimeType.CreateInstanceImpl (логическое значение publicOnly, логическое значение skipVisibilityChecks, логическое значение fillCache) +230 System.Activator.CreateInstance (тип Type, логический непубличный тип) +67 System.Web.Mvc.DefaultControllerFactory.GetControllerInstance (RequestContext requestContext, Тип controllerType) + 80

[InvalidOperationException: произошла ошибка при попытке создать контроллер типа ECommerce.Mvc.Controllers.StylesController '. Убедитесь, что у контроллера есть открытый конструктор без параметров.]System.Web.Mvc.DefaultControllerFactory.GetControllerInstance (RequestContext requestContext, Тип controllerType) +190 System.Web.Mvc.DefaultControllerFactory.CreateController (RequestContext requestContext, String controllerName) +68 System.Web.Mvc.MvcHandler.ProcessRequestInit (HttpContextBase httpContext, IController & controller, IControllerFactory & factory) +118 System.Web.Mvc.MvcHandler.BeginProcessRequest (HttpContextBase httpContext, обратный вызов AsyncCallback, состояние объекта) +46 System.Web.Mvc.MvcHandler.BeginProcessRequest (HttpContext httpContext, обратный вызов AsyncCallback, состояние объекта) +63 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest (контекст HttpContext, AsyncCallback cb, дополнительные данные объекта) +13 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute () +8677954 System.Web.HttpApplication.ExecuteStep (шаг IExecutionStep, логическое и завершено синхронно) + 155


Информация о версии: Microsoft .NET Framework Версия: 2.0.50727.3082; ASP.NET версия: 2.0.50727.3082

Вопрос: первая трассировка стека не имеет отношения к другим, что случилось? Есть идеи?

Позвольте мне прояснить это:

страница MVC использует пружинную часть, пытающуюся загрузить службу lazy-init, конструктор которой хочет строку подключения через статическое свойство, подобное этому:

<object id="promotionRepos" type="ECommerce.Data.AdoNet.Promotions.PromotionRepos, ECommerce.Data.AdoNet" lazy-init="true">
    <constructor-arg name="provider">
        <null />
    </constructor-arg>
    <constructor-arg name="connStr">
        <object type="ECommerce.ERP.DAL.DBConn, ECommerce.ERP.DAL" factory-method="get_ConnString" />
    </constructor-arg>
    <property name="RefreshInterval" value="00:00:10" />
</object>

часть тайм-аута не имеет отношения ко всем остальным. увидеть это в первом исключении: Shopping_Shopping.Page_Load (Отправитель объекта, EventArgs e) +10 это вообще другая страница. А также, ECommerce.PMethod.Sql.SqlConns.Open () использует свою собственную строку подключения, а не загруженную весной, это другой модуль от команды diffrent. И я уверен, что строка подключения верна.

И этот йсод появляется случайно. Иногда нет ничего плохого, а иногда и появляется.

Я думал, что может быть что-то не так с моей базой данных или сетью / брандмауэром, я проверю это позже, но теперь я хочу понять эту хитрую трассировку стека.

Ответы [ 2 ]

1 голос
/ 24 мая 2010

Похоже, они все актуальны.Похоже, они связаны с созданием экземпляров объектов с помощью Spring.Net.В конечном счете, похоже, что ваш сервер базы данных либо не отвечает, либо строка подключения полностью неверна.

Можете ли вы получить доступ к базе данных с помощью используемого вами программного обеспечения DB managemnet?

0 голосов
/ 24 мая 2010

Я предполагаю, что строка подключения неверна или сервер базы данных не включен, когда ваше приложение пытается подключиться к базе данных. Дважды проверьте строку подключения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...