पढ़ना मैंने एक ऐसा एप्लीकेशन विकसित किया है जो मुख्य रूप से ईमेल संदेश भेजता है SMTP का उपयोग करता है। संदेशों को एक-एक करके भेजना ठीक है, हालांकि मैं प्रक्रिया को गति देने के लिए देख रहा हूं। मैंने SmtpClient
के साथ-साथ संदेशों को एक दूसरे के बीच संघर्ष से बचने के कई उदाहरण बनाए हैं। अलग-अलग उदाहरणों के कारण, मुझे लगता है कि एकाधिक धागे पर .Send()
प्रदर्शन करना अच्छा काम करेगा। हालांकि, मेरे Thread
कोड के साथ कुछ काम नहीं कर रहा है, क्योंकि मैं इस कोड का उपयोग करके एक थ्रेड पर भी एक ईमेल नहीं भेज सकता। मैं बस एक अस्पष्ट "Failure sending mail"
अपवाद प्राप्त करता हूं। मैं काम करता हूं जो कोड पोस्ट करेगा, और Thread
जो काम नहीं करता है। क्या कोई यह साझा कर सकता है कि उनका क्या कारण हो सकता है?सी # सिस्टम का उपयोग कर एसएमटीपी भेज रहा है।
नोट मैं वर्तमान में नए async
क्षमताओं का उपयोग करने के लिए देख नहीं कर रहा हूँ, लेकिन इसके बजाय लाभ Thread
कार्य घोषणा और विधि कॉल:
var SMTP = new SmtpClient
{
Host = txtBxSenderHost.Text,
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(strSenderAddress, strSenderPassword)
};
using (var message = new MailMessage(senderAdrress, toAddress)
{
Subject = strSubject,
Body = strBody
})
{
SMTP.Send(message);
}
काम नहीं कर रहा थ्रेड घोषणा और विधि कॉल:
var SMTP = new SmtpClient
{
Host = txtBxSenderHost.Text,
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(strSenderAddress, strSenderPassword)
};
using (var message = new MailMessage(senderAdrress, toAddress)
{
Subject = strSubject,
Body = strBody
})
{
Thread T1 = new Thread(delegate() { SMTP.Send(message); });
T1.Start();
}
आप के लिए एक 'using' ब्लॉक के अंदर' नई Thread' है 'message' साथ जीवन को आसान बना देता है? इस तरह, नए धागे को भेजने से पहले संदेश का निपटान होने की संभावना है। –
अपनी कार्यवाही घोषणा और कार्य विधि को किसी अन्य विधि में लपेटें और फिर उस विधि का उपयोग थ्रेड – nsconnector
में करें। क्या आप थोड़ा और विस्तार कर सकते हैं? मैं यह भी सुनिश्चित नहीं कर रहा हूं कि नए धागे को भेजने से पहले इसका निपटारा किया जा रहा है, परीक्षण के लिए मैं केवल एक थ्रेड का उपयोग कर रहा हूं। मैं यहां से भी रास्ता निकाल सकता हूं, मुझे उम्मीद है कि आप मेरे साथ बेकार हो सकते हैं। – scniro