2010-05-11 20 views
5

Denetleyicideki bir yöntem, filestream veya dosya veya dosyaiçerikresimleri döndürdüğünde kaynakları elden çıkarma yöntemi nedir? exMVC - denetleyicide kaynağı atama

aşağıda gibi bir şey yaparken:

using CrystalDecisions.CrystalReports.Engine; 

public ActionResult Report() 
{ 
    ReportClass rptH = new ReportClass(); 
    rptH.FileName = Server.MapPath("[reportName].rpt"); 
    rptH.Load(); 
    rptH.SetDataSource([datatable]); 
    Stream stream = rptH.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); 
    return File(stream, "application/pdf"); 
} 

(oluşturulur budur) TIA

cevap

6

A FileStreamResult WriteFile sonuç yürütme sırasında çağrılan bir kullanarak açıklamada akışı sarar. Bu akışı kapatır ve imha eder. Oluşturulan akış türüne bağlı olarak, aslında denetleyicinin eyleminde bir kullanım deyiminde kullanımı kapatmak veya kapatmak için bir hataya neden olabilir.

+0

"FileStream" türünü kullanarak "FileStream" yazın. Dünyada ne var orada? 'Type' tek kullanımlık mıdır? –

+0

@Jeff - aslında 'FileStream', FileStream sınıfı ile aynı adı taşıyan bir özelliktir. – tvanfosson

+0

Doğru, dünyada ne düşündüğümü. Tipik (FileStream) değil - ve özellik yaklaşık 7 satır uzaklıktadır. Daha fazla kahve alma zamanı. D: –