При создании документа используйте MemoryStream
в качестве резервного хранилища.Затем создайте и закройте документ обычным способом и передайте содержимое потока памяти клиенту.
using(var stream = new MemoryStream())
{
using(var doc = WordprocessingDocument.Create(stream, WordprocessingDocumentType.Document, true)
{
...
}
stream.Position = 0;
stream.CopyTo(Response.OutputStream);
}
Не просто захватите MainDocumentPart
, поскольку, как следует из названия, это только одна частьпакет документов, а не все.
Вам также понадобится установить заголовки ответа для типа контента и расположения.