Question

J'ai un accès distant de type mis en place dans mon application où j'évite TargetInvocationExceptions et de saisir l'exception interne. Je appeler la méthode PrepForRemoting interne de la classe de Exception pour préserver la trace de la pile à partir de la méthode appelée.

Cela semble construire correctement la propriété trace de la pile:

"\ r \ nserver pile trace: \ r \ n

à ZBooking.Environment.Services.BookingService. <> C_ DisplayClass9`1.b _5 (BookingSlot p) C: \ dev \ ZBookings \ core \ \ ZZBookings.Services BookingService.cs: ligne 79 \ r \ n

à System.Linq.Enumerable.All [TSource] (source IEnumerable'1, Func'2 prédicat) \ r \ n

ZBookings.BookingService.MoveBooking [TBookingType] (Int32 bookingId,> IEnumerable`1 bookingSlots) dans C: \ dev \ ZBooking.Client \ core \ ZBookings.Services de BookingService.cs: les lignes 79 \ r \ n \ r \ n

Exception relancée à [0]: \ r \ n à ZBookings.BookingService <> c_ DisplayClass9`1.b _5 (BookingSlot p). C: \ dev \ ZBookings \ core \ \ ZBookings.Services BookingService.cs: ligne 79 \ r \ n

à System.Linq.Enumerable.All [TSource] (source IEnumerable'1, Func'2 prédicat) \ r \ n

à ZBookings.BookingService.MoveBooking [TBookingType] (Int32 bookingId, IEnumerable`1 bookingSlots) dans C: \ dev \ ZBookings \ core \ ZBookings.Services \ BookingService.cs: ligne 79"

Cependant, il est quand cela est affiché par l'écran jaune ASP.NET standard:

[NullReferenceException: objet de référence non définie à une instance d'un objet.] ZBooking.ApplicationServices.MethodMarshaller.Invoke (délégué del, ZipIdentity zipIdentity, Object [] args) dans C: \ dev \ ZBooking \ core \ ZBooking.ApplicationServices de les MethodMarshaller.cs: 147 ZBooking.ApplicationServices.MethodMarshaller.Invoke (délégué del, ZipIdentity zipIdentity, Object [] args) dans C: \ dev \ ZBooking \ core \ ZBooking.ApplicationServices de les MethodMarshaller.cs: 105 ZBooking.ApplicationServices.MethodMarshaller.Call (Func'3 del, T1 arg1, arg2 T2, ZipIdentity zipIdentity) dans C: \ dev \ ZBooking \ core \ ZBooking.ApplicationServices de les MethodMarshaller.cs: 72
... etc.

Appel Server.GetLastError(); sur Application_Error dans Global.asax montre la trace de pile correcte. Où est la trace de la pile d'écran jaune vient?

Était-ce utile?

La solution

écran jaune de la mort ASP.NET obtient la trace de la pile en construisant un StackTrace(Exception, Boolean) . Il déverse ensuite la pile en marchant StackFrame objets fournis par le StackTrace objet. Il ne pas utiliser la propriété Exception.StackTrace .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top