Archive for May, 2010

Ciclo de formação Scrum em Junho de 2010

Monday, May 24th, 2010
Autor: Tiago Andrade e Silva


Em Junho haverá mais dois cursos Certified Scrum Master em Lisboa e no Porto.

Mais informações no site da comunidade em

http://scrumpt.com/content/Training.aspx

Log4net – SmtpAppender

Tuesday, May 4th, 2010
Autor: nuno.lourenco


Ao se configurar o log4net para usar um SmtpAppender, para envio de e-mails com os logs da aplicação, deixo uma nota de reparo no que concerne o envio para vários destinatários:

A documentação refere que para diversos destinatários dever-se-à configurar o log4net separando os endereços por (;). Se assim for surgirá o seguinte erro:

System.FormatException: The specified string is not in the form required for an e-mail address.
   at System.Net.Mime.MailBnfHelper.ReadMailAddress(String data, Int32& offset, String& displayName)
   at System.Net.Mail.MailAddressCollection.ParseValue(String addresses)
   at log4net.Appender.SmtpAppender.SendEmail(String messageBody)
   at log4net.Appender.SmtpAppender.SendBuffer(LoggingEvent[] events)

Isto porque

O SmtpAppender do log4net recorre ao tipo System.Net.Mail. MailAddressCollection da Framework .NET, que por sua vez usa o método Add(string) para adicionar os endereços. Ora acontece que na documantação está o seguinte:

If multiple e-mail addresses separated with a semicolon character (";") are passed in the addresses parameter. a FormatException exception is raised.

Portanto a documentação do log4net pode induzir em erro. Modificar a separação dos endereços por (,) resolverá o problema.

Happy codding icon smile Log4net   SmtpAppender

ref: Log4net’s SmtpAppender with multiple email addresses

C#, .NET and Diacritics

Monday, May 3rd, 2010
Autor: nuno.lourenco


Talvez se perguntem, hein? Pois a ideia é saber “converter” texto com acentuação e não só, pelo corresponde texto sem acentuação. Ora dito isto o que se quer:

  1. âãäåçèéêë –> aaaaceeee
  2. ìíîïðñòó –> iiiiðnoo
  3. ôõöùúûüý –> ooouuuuy

Ora então o código que possibilita a alteração:

 1:  public string RemoveDiacritics(string input)
 2: {
 3:  string stFormD = input.Normalize(NormalizationForm.FormD);
 4: var sb = new StringBuilder();
 5:  
 6:  for (int i = 0; i < stFormD.Length; i++)
 7: {
 8: UnicodeCategory uc = CharUnicodeInfo.GetUnicodeCategory(stFormD[i]);
 9:  if (uc != UnicodeCategory.NonSpacingMark)
 10: {
 11: sb.Append(stFormD[i]);
 12: }
 13: }
 14:  
 15:  return (sb.ToString().Normalize(NormalizationForm.FormC));
 16: }

Happy Coding icon smile C#, .NET and Diacritics

ref: Michael Kaplan blog


Better Tag Cloud