quinta-feira, 25 de agosto de 2011

Enumerações repetidas ao adicionar uma Service Reference no Visual Studio 2010.

Estava a criar um WCF WebService e estava a gerar enumerações duplicadas, exemplo:  enum Tipo, enum Tipo2, enum Tipo3, etc.
Reparei que cada uma desta enumerações na Reference.cs tinha um namespace diferente. Após alguns testes, esta combinação funcionou para mim:

[System.Xml.Serialization.XmlRootAttribute(Namespace = "http://www.teste.pt/exemplo/Tipo", IsNullable = true)]
[DataContract(Namespace = "http://www.teste.pt/exemplo/Tipo")]
[XmlTypeAttribute(Namespace="http://www.teste.pt/exemplo/Tipo")]
 public enum Tipo { ... }

O último atributo parece ter sido o que corrigiu a situação, as outras duas já existiam. Isto ainda precisa de mais uns testes mas pode ajudar alguém.

sexta-feira, 5 de agosto de 2011

Boot a partir de uma VM (apenas VHD).

Usar VMs normalmente pode ser um problema se o host não tiver recursos suficientes ou se pretendemos mais rapidez, um colega encontrou o seguinte blog que explica como criar uma VM na tecnologia VHD (usada pelo Virtual PC e Hyper-V por exemplo), e usar essa VM para fazer um boot alternativo ao Sistema Operativo instalado (Win7 64bits).
http://technet.microsoft.com/en-us/edge/ff944958

Desta forma usamos os recursos todos do host e, o melhor, podemos correr o ficheiro da VM a partir de um disco duro externo e ainda ter acesso aos discos que já existem na máquina.

Infelizmente não encontrei forma de converter VMs feitas para Virtual Box para VHD.

[Update]
Obrigado ao utilizador anónimo pela dica, vou experimentar este comando para transformar VMs feitas para VirtualBox para VHD...
Via cmd
VBoxManage clonehd source.vdi target.vhd --format vhd

quinta-feira, 4 de agosto de 2011

SharePoint reserved querystring parameters

Para quem já teve más experiências a usar parâmetros num url para uma página customizada no SharePoint deixo um blog que indica algumas keywords reservadas para a construção de urls.
http://blogs.technet.com/b/stefan_gossner/archive/2009/01/30/querystring-parameters-you-should-not-use-in-your-sharepoint-application.aspx

Além das que o autor indica, também não aconselho muito usar a letra "k" como parâmetro porque é usada pelas webparts de resultados de pesquisa do SharePoint.
  • FeatureId
  • ListTemplate
  • List
  • ID
  • VersionNo
  • ContentTypeId
  • RootFolder
  • View
  • FolderCTID
  • Mode
  • Type

terça-feira, 2 de agosto de 2011

.NET: Codificação de caracteres XML inválidos numa string

Para quêm precisa de codificar strings xml tem uma alternativa para quem não quer fazer replace dos caracteres.
O método para fazer a codificação é SecurityElement.Escape localizado no namespace System.Security.


Exemplo: 
tagText = SecurityElement.Escape(tagText);

Fonte: http://msdn.microsoft.com/en-us/library/system.security.securityelement.escape.aspx