5

शीर्षक कहता है, मैं अपने कोड या मूल सीआरएम कार्यक्षमता के कारण हुई त्रुटि और क्लाइंट सिस्टम पर स्थापित किसी भी कस्टम प्लगइन द्वारा फेंकने वाली त्रुटि के बीच अंतर बताने का एक तरीका ढूंढ रहा हूं।क्या यह जानने का कोई तरीका है कि एक एमएस सीआरएम अपवाद प्लगइन द्वारा फेंक दिया गया था?

कुछ जो हम लगातार पीड़ित होते हैं वह हमारे ग्राहकों के कस्टम तृतीय पक्ष प्लगइन्स है जो या तो उन्होंने घर में बनाया है या किसी अन्य आईएसवी से खरीदा है। वे इसे सीआरएम इकाई पर पंजीकृत करते हैं जिसे हम सबसे हालिया मामले में अपनी खुद की इकाइयों में से किसी एक पर भी स्पर्श करते हैं। हम कुछ करने की कोशिश करते हैं, प्लगइन अपनी चीज करने की कोशिश करता है और विफल रहता है। हाल के उदाहरण में, प्लगइन इसे सीआरएम में डालने के ठीक बाद 'एन्कोडिंग नहीं कर रहा था। प्लगइन एक त्रुटि फेंकता है और सीआरएम इसे वापस फेंकता है।

मैं कैसे बता सकता हूं कि प्लगइन घंटों की जांच किए बिना अपराधी है? अब तक मैंने केवल एक कंपनी को प्लग संदेश स्टैक ट्रेस को त्रुटि संदेश के रूप में फेंककर इसे बताना आसान बना दिया है। स्पष्टता के लिए

संपादन:

  • मैं एक कार्यक्रम संबंधी समाधान समय यह मुद्दे की पहचान करने के लिए ले जाता है को कम करने के लिए देख रहा हूँ एक कस्टम प्लगइन और नहीं हमारे कोड Azure से उनके सीआरएम के साथ बातचीत है ।
  • मैं अंतर जानने के लिए पर्याप्त स्मार्ट होने के लिए हमारी त्रुटि लॉगिंग/हैंडलिंग को बढ़ाने का प्रयास कर रहा हूं।
  • भले ही हमारा कोड 100% काम करता है लेकिन को आग लगाने के लिए एक सिंक्रोनस प्लगइन ट्रिगर करता है और वह प्लगइन विफल हो जाता है, हमें सीआरएम से अपवाद मिलता है।
  • हम जो कुछ भी करते हैं वह एसडीके के माध्यम से प्रोग्रामेटिक है।
+0

तो यह एक विफलता है कि होता है जब आपके प्लगइन कुछ कार्रवाई जो विफल एक और प्लगइन है, जो तब विफल अपने प्लगइन का कारण बनता है का कारण बनता है प्रदर्शन करने के लिए प्रयास करता है ? या यह एक प्लगइन है जो आपकी प्लगइन आग से पहले प्लगइन के साथ होता है? – Daryl

+0

हम तकनीकी रूप से 'प्लगइन' नहीं हैं हमारे पास एक ऐसा ऐप है जो Azure में चलता है जो ग्राहकों सीआरएम सिस्टम के साथ इंटरैक्ट करता है। त्रुटि उन ग्राहकों की प्लगइन में होती है जो हमें वापस फ़िल्टर करते हैं, भले ही हम जो करने की कोशिश कर रहे थे, हम अभी भी एक त्रुटि वापस ले लें। –

+0

तो आप एसडीके का उपयोग कर इसके साथ बातचीत कर रहे हैं? – Daryl

उत्तर

2

सीआरएम ट्रेसिंग को सक्षम करने के लिए केवल एक चीज है जो दिमाग में आती है। नीचे दिए गए लिंक को यह समझाना चाहिए कि माइक्रोसॉफ्ट डायनेमिक्स सीआरएम में इसे कैसे किया जाए।

http://support.microsoft.com/kb/907490

+1

क्षमा करें, मुझे ऊपर वर्णित होना चाहिए था। मैं एक प्रोग्रामेटिक समाधान की तलाश में हूं जो स्वचालित और हमारे त्रुटि लॉगिंग का हिस्सा हो सकता है। ग्राहक को ट्रेसिंग के माध्यम से जाना और चालू करना जांच के घंटों का हिस्सा है जिसे मैं कटौती करने की कोशिश कर रहा हूं। –

1

जब इस चित्र के रूप में एक प्लगइन की वजह से एक अपवाद है: enter image description here

आप उदाहरण इस बात के लिए जाँच लॉग फ़ाइल डाउनलोड कर सकते हैं, आप आसानी से पा सकते हैं अंदर जो प्लगइन का अपवाद उत्पन्न, लॉग:

Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: StupidPluginDetail: 
// ... other details 
[StupidPlugin: StupidPlugin.ExamplePlugin] 
[bda9ad85-c4a5-e211-bc00-78e7d162ee67: StupidPlugin.ExamplePlugin: Create of orderclose] 
</TraceText> 
</OrganizationServiceFault> 
+0

हम ग्राहकों को एसडीके के माध्यम से प्रोग्रामेटिक रूप से सीआरएम के साथ बातचीत कर रहे हैं, इसलिए हमें वह संदेश नहीं मिला है। –

0

यह उत्पादन वातावरण में उपयोग के लिए अनुशंसित नहीं किया जाएगा, लेकिन परीक्षण वातावरण के लिए बेहद फायदेमंद होगा। जब भी एक सीआरयूडी ऑपरेशन एसडीके का उपयोग करने में विफल रहता है, तो आप सभी प्लगइन को प्रोग्रामेटिक रूप से अक्षम कर सकते हैं, और उसी ऑपरेशन का प्रयास कर सकते हैं। यदि यह सफल होता है, तब तक एक बार प्लगइन्स को सक्षम करें जब तक कि यह विफल न हो जाए। फिर आप यह निर्धारित करने में सक्षम होंगे कि यह कौन सा प्लगइन है जो समस्या उत्पन्न कर रहा है, या यह प्लगइन नहीं है।

1

पर एक नज़र डालें। विवरण TraceText सेवा द्वारा वापस अपवाद की संपत्ति। मैं पूर्ण स्टैक ट्रेस पाने में कामयाब रहे नहीं किया है, लेकिन यह जहां चीजें गलत हो गया था कुछ जानकारी का संकेत दिखाई:

Mario.CRM.TestOrg.Plugins: Mario.CRM.TestOrg.Plugins.ContactPreUpdate

[ 5ee31a9e-3558-e211-adeb-00155d014401: Mario.CRM.TestOrg.Plugins।ContactPreUpdate: संपर्क]

नमूना कोड स्निपेट का अद्यतन

try 
{ 
    //create service proxy and call service 
} 
catch (Exception ex) 
{ 
    Console.WriteLine(((System.ServiceModel.FaultException<Microsoft.Xrm.Sdk.OrganizationServiceFault>)(ex)).Detail.TraceText); 
} 
+0

मुझे इसे देखना होगा, यह दिलचस्प लग रहा है। –

संबंधित मुद्दे

 संबंधित मुद्दे