1334个事件ID应用程序池崩溃

时间:2011-03-24 14:05:36

标签: asp.net iis event-log application-pool

运行asp.net应用程序时,会出现如下所示的间歇性错误

目前我们已经要求提供代码,但在此之前,如果有可用的解决方案,那将是非常好的

任何帮助?

Log Name:      Application
Source:        ASP.NET 2.0.50727.0
Date:          24-3-2011 11:45:25
Event ID:      1334
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      xxx
Description:
An unhandled exception occurred and the process was terminated.

Application ID: /LM/W3SVC/1/ROOT/WebClient

Process ID: 4808

Exception: System.ArgumentNullException

Message: Value cannot be null.

StackTrace:    at System.Threading.Monitor.Enter(Object obj)
   at System.Data.ProviderBase.DbConnectionPool.TransactedConnectionPool.TransactionEnded(Transaction transaction, DbConnectionInternal transactedObject)
   at System.Data.ProviderBase.DbConnectionPool.TransactionEnded(Transaction transaction, DbConnectionInternal transactedObject)
   at System.Data.ProviderBase.DbConnectionInternal.CleanupConnectionOnTransactionCompletion(Transaction transaction)
   at System.Data.ProviderBase.DbConnectionInternal.TransactionCompletedEvent(Object sender, TransactionEventArgs e)
   at System.Transactions.TransactionCompletedEventHandler.Invoke(Object sender, TransactionEventArgs e)
   at System.Transactions.InternalTransaction.FireCompletion()
   at System.Transactions.TransactionStatePromotedCommitted.EnterState(InternalTransaction tx)
   at System.Transactions.TransactionStatePromotedBase.ChangeStatePromotedCommitted(InternalTransaction tx)
   at System.Transactions.InternalTransaction.DistributedTransactionOutcome(InternalTransaction tx, TransactionStatus status)
   at System.Transactions.Oletx.RealOletxTransaction.FireOutcome(TransactionStatus statusArg)
   at System.Transactions.Oletx.OutcomeEnlistment.InvokeOutcomeFunction(TransactionStatus status)
   at System.Transactions.Oletx.OletxTransactionManager.ShimNotificationCallback(Object state, Boolean timeout)
   at System.Threading._ThreadPoolWaitOrTimerCallback.PerformWaitOrTimerCallback(Object state, Boolean timedOut)
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="ASP.NET 2.0.50727.0" />
    <EventID Qualifiers="49152">1334</EventID>
    <Level>2</Level>
    <Task>0</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2011-03-24T10:45:25.000Z" />
    <EventRecordID>11414</EventRecordID>
    <Channel>Application</Channel>
    <Computer>xxxx</Computer>
    <Security />
  </System>
  <EventData>
    <Data>An unhandled exception occurred and the process was terminated.

Application ID: /LM/W3SVC/1/ROOT/WebClient

Process ID: 4808

Exception: System.ArgumentNullException

Message: Value cannot be null.

StackTrace:    at System.Threading.Monitor.Enter(Object obj)
   at System.Data.ProviderBase.DbConnectionPool.TransactedConnectionPool.TransactionEnded(Transaction transaction, DbConnectionInternal transactedObject)
   at System.Data.ProviderBase.DbConnectionPool.TransactionEnded(Transaction transaction, DbConnectionInternal transactedObject)
   at System.Data.ProviderBase.DbConnectionInternal.CleanupConnectionOnTransactionCompletion(Transaction transaction)
   at System.Data.ProviderBase.DbConnectionInternal.TransactionCompletedEvent(Object sender, TransactionEventArgs e)
   at System.Transactions.TransactionCompletedEventHandler.Invoke(Object sender, TransactionEventArgs e)
   at System.Transactions.InternalTransaction.FireCompletion()
   at System.Transactions.TransactionStatePromotedCommitted.EnterState(InternalTransaction tx)
   at System.Transactions.TransactionStatePromotedBase.ChangeStatePromotedCommitted(InternalTransaction tx)
   at System.Transactions.InternalTransaction.DistributedTransactionOutcome(InternalTransaction tx, TransactionStatus status)
   at System.Transactions.Oletx.RealOletxTransaction.FireOutcome(TransactionStatus statusArg)
   at System.Transactions.Oletx.OutcomeEnlistment.InvokeOutcomeFunction(TransactionStatus status)
   at System.Transactions.Oletx.OletxTransactionManager.ShimNotificationCallback(Object state, Boolean timeout)
   at System.Threading._ThreadPoolWaitOrTimerCallback.PerformWaitOrTimerCallback(Object state, Boolean timedOut)</Data>
  </EventData>
</Event>

2 个答案:

答案 0 :(得分:1)

你不能在程序之外做任何事情。

消息很明确:值不能为空,这是以太网错误,以及程序的错误配置。

使用null值调用一个函数,然后崩溃。

顺便说一下,游泳池没有崩溃,只是页面无效。

答案 1 :(得分:0)

根据这个:https://connect.microsoft.com/VisualStudio/feedback/details/449469/transactedconnectionpool-bug-in-vista-server-2008-sp2

它已知SP2的错误 - 我认为最简单的解决方法是Polchen写的:

  

禁用连接池   数据库连接字符串

希望这个字符串在配置文件中,而不是硬编码。