<$BlogRSDUrl$>

14 julho 2005

 
BUG do Visual Studio 8 Beta 2



currente == null é falso mas b é verdadeiro

30 junho 2005

 
Os espanhois é que sabem ... via wikipedia

Los programas de mensajería instantánea son utilizados para «chatear» ....

22 junho 2005

 
Remoting exceptions

Quando ocurria uma excepção num serviço a excepção recebida na aplicação era a seguinte:

"Server encountered an internal error. For more information, turn on customErrors in the server's .config file."

Problema:
O servidor não estava configurado para enviar as excepções para pedidos feitos noutras máquinas.

Pode-se verificar esta situação com:
// retona true se o filtro estiver activo, ou seja as excepções não são enviadas.
RemotingConfiguration.CustomErrorsEnabled(false);

Solução:
É necessário colocar o seguinte no ficheiro de configuração do servidor:
<configuration>
<system.runtime.remoting>
<customErrors mode="off"/>
</system.runtime.remoting>
</configuration>

É tambem necessário colocar no servidor o seguinte codigo:
RemotingConfiguration.Configure("Server.exe.config");

nota: Na versão 2.0 do .NET já é configurável programaticamente.

É ainda obigatório que a excepção esteja marcada como [Serializable] e que defina o construtor para deseriação

[Serializable]
public class MyException: Exception {
...
public MyException(SerializationInfo info, StreamingContext
context) : base(info, context) { }
}

Referência:
http://www.codeproject.com/csharp/PathRemotingArticle.asp?select=878980&df=100&amp;amp;amp;amp;amp;forumid=36788&exp=0&tid=878980#xx878980xx

08 junho 2005

 
Convenções:

12 maio 2005

 
A seriação do DataObject

Visto não ser possível seriar uma DataRow o DataObject não pode ser seriado a menos que, a DataRow seja seriada dentro de um DataSet.

Para evitar ter de criar um DataSet com uma DataTable com uma DataRow, tivemos de alterar o DataObject.

Uma hipotese passa por criar objectos wrapper que contenha a informação do objecto, mas obrigava a criar, para cada objecto, o objecto wrapper.

A solução passou por alterar o DataObject por forma a não seriar a DataRow mas sim apenas o seu conteúdo, no destino é criado um outro objecto denominado PiscoDataConteiner que artmazena esses valores numa HashTable permitindo o acesso aos mesmos


05 maio 2005

 
O drama, o horror, a vida real

James,
I think this may be a bug and I hope somebody from Microsoft can eitherconfirm or deny this for me.
I'm trying to Clone (deep copy) a class that wraps a DataRow, but uponserializing the DataRow, I get the following exception:System.Runtime.Serialization.SerializationException
Additional information: The typeSystem.Xml.XmlBoundElement in AssemblySystem.Data, Version=1.0.3300.0, Culture=neutral,PublicKeyToken=b77a5c561934e089 is not marked as serializable.

Anwer:
This is (what every developer dreads to hear) "by design".
The DataRow hasno default constructor and no custom serializable method - either of whichwould be required for what you want. In order for a DataRow to beserialized, it must belong to a DataTable in a DataSet - the DataSet iscurrently the smallest unit of data that can be serialized.
We are aware of this limitation and it is due to change in future versions of the product.
Malcolm StewartMicrosoft Developer SupportThis posting is provided "AS IS", with no warranties, and confers no rights.
 
DataModelAdapter para suportar diversos serviços

Problema:
Pelo facto de existir a tabela DataObject em cada um dos serviços não é possivel carregar os vários schemas no mesmo DataSet do DataModelAdapter

Soluções:
- Fazer mapeamento das várias taqbelas DataObject para nomes únicos, por exemplo baseado no namespace do serviço. Gestão complicada dessas tabelas e do mapeamento de nomes.
- Ter um DataSet por cada serviço que se registe no DataModelAdapter. Permite uma gestão ao serviço e evita conflitos de nome.

ServiceDataManager
Serviço que realiza a gestão de dados de um serviço. É composto por um DataSet que armazena os dados locais desse serviço.
O DataModelAdapter instancia um SDM por cada serviço registado.
Cada serviço é identificado pelo namespace dos seus DataObjects. Cada namespace é considerado um serviço diferente.



24 fevereiro 2005

 
Novo Modelo do Novo Modelo

Para evitar a utilização do DMA como factory, decidimos alterar o modelo, com a alteração da derivação para composição
.:Modelo 2


O aparecimento de um Parent na PiscoDataRow deve-se ao facto de decidirmos alterar tambem o modo como os objectos são armazenados em base de dados para permitir utilizar relações directamente no SGBD evitando o processamento para manter a coerência entre os dados.

Desta forma o novo modelo relacional é um espelho do modelo hierárquico

This page is powered by Blogger. Isn't yours?