This is a viewer only at the moment see the article on how this works.
To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk
This is a preview from the server running through my markdig pipeline
Trascorrere il giorno di codifica...(e .NET 1.0.3705.352 bug!)
Sunday, 29 February 2004
Sto lavorando... hmm... ho pensato di menzionare un insetto molto strano che mi sono imbattuto ieri al lavoro - che mi aveva perplesso per circa un giorno e mezzo...
Avevo scritto una domanda (il Portale di cui ho parlato prima - La Comunità dell'istruzione), che utilizza il Dati Blocco applicazione accessoper fornire il DAL - che consiglio vivamente. Questo è sempre stato impeccabile su ogni piattaforma su cui l'ho provato. Il codice è sotto...
string user = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
string exceptionStr=exception.ToString() + exception.StackTrace;
SqlParameter[] sqlParams = new SqlParameter[4]; SqlParameter
prmUser = new SqlParameter("@user",SqlDbType.VarChar,500);
prmUser.Value = user;
SqlParameter prmMessage = new SqlParameter("@exceptionMessage",
SqlDbType.VarChar, 2000);
prmMessage.Value = exception.Message;
SqlParameter prmExStr = new SqlParameter("@exception",SqlDbType.Text);
prmExStr.Value = exceptionStr;
SqlParameter prmPortalId = new SqlParameter("@portalId",SqlDbType.SmallInt);
prmPortalId.Value = 0; sqlParams[0] = prmUser;
sqlParams[1] = prmMessage;
sqlParams[2] = prmExStr;
sqlParams[3] = prmPortalId;
/*SqlHelperParameterCache.GetSpParameterSet(_connectionString,"pr_Admin_InsertError"); sqlParams[0].Value
= user; sqlParams[1].Value = exception.Message; sqlParams[2].Value
= exceptionStr; //sqlParams[2].Value = "Test String"; sqlParams[3].Value
= ((PortalSettings)HttpContext.Current.Items["PortalSettings"]).PortalId;*/
SqlHelper.ExecuteNonQuery(_connectionString,CommandType.StoredProcedure,"pr_Admin_InsertError",sqlParams);
Uso un metodo che fornisce chiamato SqlHelperParameterCache.GetSpParameters (commentata out in the code above) - questo fondamentalmente solo popola una serie di SqlParameters con i parametri restituiti dal DB - salva un po 'di codifica e rende l'app più facile per aggiornare come il SP cambia - bello!
In ogni caso, questo ha funzionato senza difetti, veloce, efficiente tutto questo! Fino a quando non è, io ho cercato di distribuire nel nostro ambiente di prova giovedì - ho continuato a ricevere vari errori, Errore grave e errore di rete generale indietro da SQL Server 2000 quando ho cercato di eseguire Beh, la versione di .NET su quella macchina era 1.0.3705.352
- una versione che non avevo mai visto e non ho potuto ottenere - ma ho pensato, .NET 1.0 era tutto bello più o meno lo stesso, forse qualche bugfixes, ma questo è tutto!
Umm... sbagliato, si scopre che questa versione ha un problema importante quando si tenta di ottenere i parametri indietro da un SP quando il SP si aspetta un campo di tipo 'testo' - si sbaglia in qualche modo
- e causa questo terribile errore sconcertante. Soluzione, dichiarare esplicitamente i tipi di campo per i parametri se il tuo SP contiene un campo 'testo' (solo uno per cui l'ho provato, possono interessare più tipi 'binari').
Ad ogni modo, risolto ora - ma vi consiglio di aggiornare a 1.1 - che ha anche un fantastico cosa ho scoperto da alcuni tizi blog al ASP.NET weblogs semplice ma salva un po 'di digitazione, sembra che DropDownList (Mi aspetto RadioButtonList ha anche, ma non provato!) che è una proprietà SelectedValue - quanto è fresco - beh, non così forte, ma è meglio che fare il vecchio ddl.SelectItem.Value...bit Piu' corti...