पर स्ट्रीमवाइटर लेखन मैं इस धारणा के तहत था कि जब आपने स्ट्रीमवाइटर ऑब्जेक्ट में Flush()
कहा था तो यह अंतर्निहित धारा को लिखता है, लेकिन स्पष्ट रूप से यह मेरे कोड के मामले में नहीं है।मेमोरीस्ट्रीम
मेरी फ़ाइल में लिखने के बजाय यह कुछ भी नहीं लिखेंगे। कोई विचार जहां मैं गलत जा रहा हूँ?
public FileResult DownloadEntries(int id)
{
Competition competition = dataService.GetCompetition(id);
IQueryable<CompetitionEntry> entries = dataService.GetAllCompetitionEntries().Where(e => e.CompetitionId == competition.CompetitionId);
MemoryStream stream = new MemoryStream();
StreamWriter csvWriter = new StreamWriter(stream, Encoding.UTF8);
csvWriter.WriteLine("First name,Second name,E-mail address,Preferred contact number,UserId\r\n");
foreach (CompetitionEntry entry in entries)
{
csvWriter.WriteLine(String.Format("{0},{1},{2},{3},{4}",
entry.User.FirstName,
entry.User.LastName,
entry.User.Email,
entry.User.PreferredContactNumber,
entry.User.Id));
}
csvWriter.Flush();
return File(stream, "text/plain", "CompetitionEntries.csv");
}
उचित कचरा संग्रहण के लिए बयानों का उपयोग करने में अपने MemoryStream और StreamWriter डालने पर विचार करें। – neontapir
@neontapir मैं अभी तक सफाई के लिए कोड नहीं हूँ लेकिन बाद में होगा। चीयर्स – ediblecode
@neontapir, इस विशेष मामले के लिए गलत टिप्पणी: इससे केवल समस्या अधिक गंभीर/स्पष्ट हो जाएगी ... –