"استثناء تم إلقاؤه بواسطة هدف الاحتجاج" (mscorlib)

StackOverflow https://stackoverflow.com/questions/648113

  •  22-07-2019
  •  | 
  •  

سؤال

لدي موقع ويب تم تطويره في ASP.NET 2.0 الذي يرمي الخطأ

"Exception has been thrown by the target of an invocation" 

في بيئة الإنتاج. لم يكن رمي هذا الخطأ في التطوير.

المصدر هو "mscorlib" ، ويقول تتبع المكدس عن الخطأ في

System.RuntimeMethodHandle._InvokeMethodFast.

الشيء الوحيد الذي قمت بتغييره منذ آخر تحميل لي إلى الإنتاج هو أنني بدأت في استخدام عناصر التحكم في العضوية (تسجيل الدخول ، LogInView) ، وأضفت بعض الإجراءات والجداول المخزنة ، وما إلى ذلك. تعتمد العضوية على مزود مخصص I '' مكتوبة.

أي شخص لديه أدنى فكرة لماذا يمكن أن يحدث هذا؟

هل كانت مفيدة؟

المحلول

أود أن أقترح التحقق من استثناء داخلي. إذا لم يكن هناك واحد ، تحقق من سجلاتك للحصول على الاستثناء الذي حدث مباشرة قبل هذا.

هذا ليس استثناءًا خاصًا على الويب ، لقد واجهته أيضًا في تطوير سطح المكتب. باختصار ، ما يحدث هو أن مؤشر الترابط الذي يتلقى هذا الاستثناء يعمل على تشغيل بعض التعليمات البرمجية غير المتزامنة (عبر Invoke () ، على سبيل المثال) وأن هذا الرمز الذي يتم تشغيله بشكل غير متزامن ينفجر باستثناء. استثناء الاحتجاج الهدف هذا هو آثار هذا الفشل.

إذا لم تكن قد لم تقم بالفعل ، فضع نوعًا من غلاف التسجيل حول استثناءات حول عمليات الاسترجاعات غير المتزامنة التي يتم استدعاءها عند تشغيل هذا الخطأ. معالجات الأحداث ، على سبيل المثال. يجب أن يساعدك ذلك في تتبع المشكلة.

حظا طيبا وفقك الله!

نصائح أخرى

يمكن أن يحدث هذا عند استدعاء طريقة غير موجودة.

أعلم أنه نوع من الغريب ولكني واجهت هذا الخطأ لتطبيق AC# وأخيراً اكتشفت أن المشكلة هي رمز النموذج! عندما غيرته ، كان كل شيء يعمل بشكل جيد.

أود أن أقول إنني كان لدي هذا الخطأ فقط في XP ليس في 7 أو 8.

' Get the your application's application domain.
Dim currentDomain As AppDomain = AppDomain.CurrentDomain 

' Define a handler for unhandled exceptions.
AddHandler currentDomain.UnhandledException, AddressOf MYExHandler 

' Define a handler for unhandled exceptions for threads behind forms.
AddHandler Application.ThreadException, AddressOf MYThreadHandler 

Private Sub MYExnHandler(ByVal sender As Object, _
ByVal e As UnhandledExceptionEventArgs) 
Dim EX As Exception 
EX = e.ExceptionObject 
Console.WriteLine(EX.StackTrace) 
End Sub 

Private Sub MYThreadHandler(ByVal sender As Object, _
ByVal e As Threading.ThreadExceptionEventArgs) 
Console.WriteLine(e.Exception.StackTrace) 
End Sub

' This code will throw an exception and will be caught.  
Dim X as Integer = 5
X = X / 0 'throws exception will be caught by subs below

لقد واجهت هذه القضية من عدم تطابق مساحة الاسم. تم نقل ملف XAML الخاص بي ، وكان لديه مساحة اسم مختلفة عن تلك الموجودة في الكود خلف الملف.

قد يكون لهذا سببين

1. لقد وجدت خطأ سلسلة الاتصال في ملف web.config لقد قمت بتغيير سلسلة الاتصال وعملها.

  1. سلسلة الاتصال هي مناسبة ثم تحقق مع لوحة التحكم> الخدمات> متصفح خادم SQL> بداية أم لا

حصلت على نفس الخطأ ، وحل تغيير النظام الأساسي المستهدف من "منصات مختلطة" إلى "أي وحدة المعالجة المركزية"

يحدث هذا الخطأ لي بسبب عدم تعيين مشروعي كـ مشروع بدء التشغيل

عندما قمت بتعيين مشروعي الحالي على تم تعيينه كمشروع بدء التشغيل ثم ذهب.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top