2010-09-06 76 views
2

因此,讓我先說說這個錯誤的奇怪之處在於應用程序正在運行,並且錯誤冒泡到事件日誌,但是它是間歇性的。有時候它會在兩個小時之間發生,有時會持續幾分鐘,有時會持續半小時。似乎沒有直接綁定到請求(並且請求似乎沒有因此而失敗,儘管幾乎所有的請求都應該立即到達NHibernate)。我已經確保dll在bin中,它是暢通無阻的(如果其中任何一個不是這種情況,我會期望它總是失敗,而不僅僅是有時)。ASP.NET應用程序爲NHibernate拋出「無法找到程序集」錯誤

對於應用程序,我使用Nhibernate 2.1.2,castle activerecord 2,ASP.NET MVC 2,並且該應用程序部署在SQL Server 2005 for SQL Server 2005的IIS 7.5上。我在Stack上看到類似的錯誤,但沒有答案,希望有人對此錯誤有所瞭解。

Message: Unable to find assembly 'NHibernate, Version=2.1.2.4000, Culture=neutral,  
PublicKeyToken=aa95f207798dfdb4'. 

StackTrace: at  
System.Runtime.Serialization.Formatters.Binary.BinaryAssemblyInfo.GetAssembly() 
at 
System.Runtime.Serialization.Formatters.Binary.ObjectReader.GetType(BinaryAssemblyInfo 
assemblyInfo, String name) 

at System.Runtime.Serialization.Formatters.Binary.ObjectMap..ctor(String objectName, 
String[] memberNames, BinaryTypeEnum[] binaryTypeEnumA, Object[] typeInformationA, 
Int32[] memberAssemIds, ObjectReader objectReader, Int32 objectId, BinaryAssemblyInfo 
assemblyInfo, SizedArray assemIdToAssemblyTable) 
at 
System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObjectWithMapTyped(BinaryObjectWithMapTyped record) 
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObjectWithMapTyped(BinaryHeaderEnum binaryHeaderEnum) 
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run() 
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) 
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) 
at System.Runtime.Remoting.Channels.CrossAppDomainSerializer.DeserializeObject(MemoryStream stm) 
at System.AppDomain.Deserialize(Byte[] blob) 
at System.AppDomain.UnmarshalObject(Byte[] blob) 
+0

無法找到哪個組件?你能提供堆棧跟蹤還是更詳細的錯誤信息? – 2010-09-06 14:51:24

+0

Nhibernate。我添加了堆棧跟蹤。 – Paul 2010-09-07 02:24:54

回答

3

這是否也在應用程序啓動時發生,或者是否始終在應用程序啓動後的某個時間?

檢查Unhandled IIS Exception - How can I track it down(其中有一個非常類似堆棧跟蹤),這導致http://unhandledexception.codeplex.com/sourcecontrol/latest

+0

真棒,謝謝。錯誤是絕對的(正如你所指出的)隱藏了一個不同的錯誤。在我的情況下,必須處理Session對象的生命週期,但這裏關鍵的一點是,你需要使用類似HTTP模塊的東西來挖掘真正的原因。 – Paul 2010-09-18 05:52:03

0

我已經得到了類似的錯誤,發現真正的問題是沒有被報道。這裏接受的答案是特定於ASP.NET(這是正確的,因爲這是問題的關鍵),但我遇到了WPF瀏覽器應用程序(它沒有web.config文件)的問題,我發現另一種方式來看看我真正的問題是什麼。我想我應該發佈它,以防其他人會發現它有幫助。

如果您在Visual Studio中調試時遇到這些問題,可以進入Debug> Exceptions並選擇「Thrown」複選框(我正在使用VS 2008)。對我而言,這允許在Visual Studio中報告錯誤而不是我的Web瀏覽器,並提供更詳細和準確的錯誤信息。

如果您這樣做,請認識到其中一些例外情況可能之前已經處理過,但現在會破壞您的工作流程。如果發生這種情況,您可以關閉您不需要中斷的異常。

相關問題