Convalida di viewstate MAC non riuscita

by 28. gennaio 2009 13.57

Oggi mi è capitato un errore interessante che è il seguente:

[HttpException (0x80004005): Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.]

Il problema è che il mio PC portatile ha Vista e non ha alcun tipo di cluster e non è sicuramente in una webfarm.

Ho rilevato che il bug si verifica con i controlli Data (gridview, datalist, formview) di ASP.NET che usano il DataKeyName o in pagine lente. Un’altra possibilità è che il form sia multipart e si sia definito nel tag form un’action su una pagina diversa.

La soluzione è di aggiungere nella sezione pages alcuni parametri:

   1:  <configuration>
   2:     <system.web>
   3:        <pages enableEventValidation="false" enableViewStateMac="false" viewStateEncryptionMode ="Never" >
   4:     </system.web>
   5:  </configuration>

Ciao, buon lavoro

Tags:

Esportare un report di Crystal Report direttamente in PDF con ASP.NET

by 22. gennaio 2009 15.36

Già creare un report alle volte non è una cosa velocissima ma quando all’utente gli viene proposta la pagina di selezione di tipologia di report da stampare, va in panico. È meglio quindi far in modo che il report creato con Crystal Report venga subito visualizzato in un file PDF.

La risoluzione è abbastanza semplice. Innanzitutto inserire gli opportuni import che sono i seguenti:

   1:  Imports CrystalDecisions.CrystalReports.Engine
   2:  Imports CrystalDecisions.Shared
   3:  Imports CrystalDecisions.Web.Design

Poi nella funzione di generazione dei report e del suo binding, inserire questo codice (oReport è di tipo ReportDocument):

   1:  Dim objMem As New MemoryStream
   2:  objMem = CType(oReport.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat), System.IO.MemoryStream)
   3:  oReport.Close()
   4:   
   5:  Response.Clear()
   6:  Response.AddHeader("content-disposition", "attachment;filename=Export.pdf")
   7:  Response.Buffer = True
   8:  Response.ContentType = "application/pdf"
   9:  Response.BinaryWrite(objMem.ToArray())
  10:  Response.End()

Ciao.

Tags: , ,

Selezionare un&rsquo;opzione di un menu in ASP.NET

by 22. gennaio 2009 14.42

Mi è capitato di aver un controllo menu di ASP.NET creato dinamicamente in un form ASPX. Ogni elemento del menu ha un valore. Il mio problema era di selezionare il menu con il valore che mi interessava.

Dopo un po’ di ricerche molti hanno avuto il mio stesso problema e quindi ho deciso di postare la soluzione per altro semplice. Si presume che il controllo menu nel form si chiami Menu1.

   1:  Dim mi As MenuItem = Me.Menu1.FindItem(Request.QueryString("VoceMenu"))
   2:  mi.Selected = True

Buon lavoro a tutti!

Tags: ,

Generazione di un nome di file temporaneo

by 9. gennaio 2009 22.39

Alle volte può essere necessario generate un file con un nome temporaneo. Per poter inventare un nome, esiste una funzione del namespace System.IO che fa al caso nostro.

Dim sTempFileName As String = System.IO.Path.GetRandomFileName

Ciao, a presto!

Tags: , ,

Page List

Calendar

<<  febbraio 2012  >>
lumamegivesado
303112345
6789101112
13141516171819
20212223242526
2728291234
567891011

View posts in large calendar