भले ही यह तकनीकी रूप से हो, यह वास्तव में एक अच्छा विचार नहीं है! एक ट्रिगर बहुत दुबला होना चाहिए, और इसमें निश्चित रूप से एक लंबा ऑपरेशन शामिल नहीं होना चाहिए (जो एक webservice कॉल निश्चित रूप से है)! अपने आर्किटेक्चर पर पुनर्विचार करें - ऐसा करने का एक बेहतर तरीका होना चाहिए!
मेरी सिफारिश होगी कि आप उस वेब सेवा कॉल के वास्तविक निष्पादन से, अपने ट्रिगर में, webservice को कॉल करने के लिए आवश्यक "ध्यान देने" के कार्य को अलग कर दें।
कुछ इस तरह:
-
अपने ट्रिगर कोड में, एक तालिका में "बाद में webservice को कॉल करें" डालें (बस
INSERT
इसे दुबला और तेज़ रखने के लिए - बस) -
एक अतुल्यकालिक सेवा (एक SQL कार्य, या अधिमानतः एक Windows NT सेवा) है जो उन कॉलों को वास्तविक ट्रिगर निष्पादन से अलग करती है और उस वेब सेवा से प्राप्त किसी भी डेटा को आपके डेटाबेस में उपयुक्त तालिकाओं में संग्रहीत करती है।
ट्रिगर एक बहुत ही बारीक चीज़ है - यह हमेशा बहुत तेज़, बहुत दुबला होना चाहिए - एक INSERT
करें या अधिक से अधिक दो - और हर तरह से ट्रिगर, या अन्य लंबे संचालन (जैसे वेब सेवा कॉल) में कर्सर से बचें
ब्रेंट ओज़र का शीर्ष 10 डेवलपर गलतियाँ जो स्केल नहीं करती हैं और ट्रिगर पहली चीज है जिस पर वह अपना ध्यान केंद्रित करता है! अत्यधिक अनुशंसित