2011-05-30 6 views
13

मैं स्थानीय होस्ट से मेल भेजने के लिए कोशिश कर रहा हूँ ..smtpClient.send() और smtpClient.SendAsync() के बीच अंतर?

और ऐसा करने पर mails..but भेजने को यह मैं अलग साइटों से तरीकों मिल गया है कर रही पर मैं smtpClient.send() और smtpClient.SendAsync() के बीच उलझन में हूँ ..

मैं जानना चाहते हैं कि वे एक दूसरे से अलग कैसे हैं ???

अग्रिम धन्यवाद ..

उत्तर

12

smtpClient.send() मुख्य/ui धागे पर भेजने की शुरुआत करेगा और ब्लॉक करेगा।
smtpClient.SendAsync() .NET थ्रेड पूल से एक थ्रेड उठाएगा और उस थ्रेड पर विधि निष्पादित करेगा। तो आपका मुख्य यूआई लटका या ब्लॉक नहीं होगा।

Async विधि प्रार्थना - http://www.codeproject.com/KB/cs/AsyncMethodInvocation.aspx

+0

लेकिन आप मुझे बता सकते हैं जो एक प्रयोग किया जाना चाहिए कि ?? – divya

+1

यदि प्रेषण में अनुलग्नक शामिल हैं और थोड़ा समय लगता है, तो Async के साथ जाएं। लेकिन आपको कुछ समय बिताना होगा कि एसिंक्रोनस ऑपरेशंस .NET में कैसे काम करते हैं। एमएसडीएन ने पहले ही smtpClient.SendAsync के लिए एक उदाहरण दिया है, आप आगे बढ़ सकते हैं और इसका उपयोग कर सकते हैं। –

+4

@AseemGautam SendAsync() थ्रेडपूल के थ्रेड का उपयोग नहीं करता है, यह केवल असीमित ऑपरेशन प्रबंधक का उपयोग करता है –

2

SendAsyc - प्रसव के लिए SMTP सर्वर को निर्दिष्ट ई-मेल संदेश भेजता है। यह विधि कॉलिंग थ्रेड को अवरुद्ध नहीं करती है और कॉलर को उस ऑब्जेक्ट को उस ऑब्जेक्ट को पास करने की अनुमति देता है जो ऑपरेशन पूर्ण होने पर लागू होता है। अधिक जानकारी: SmtpClient.SendAsync Method

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