Profile e ASP.NET Web Application

O Profile é uma das novas funcionalidades que foram criadas a partir do ASP.NET 2.0. A sua utilidade, todos conhecem e utilizam normalmente em qualquer projeto do tipo Web Site.

Com a vinda do Web Application Project, um dos problemas já conhecidos é com relação exatamente à compilação das propriedades do Profile que especificamos no arquivo Web.Config, criando um wrapper para o acesso tipado. Esses tipos de projetos não são capazes de identificar e compilar tais propriedades, obrigando ao “acesso manual”.

Se quiser evitar o trabalho manual para estes casos, voce pode recorrer ao Web Profile Generator ou ao Web Profile Builder. A diferença é que o segundo também trabalha com o Visual Studio 2008. Ambos, depois de instalados, basta seguir os passos que estão no arquivo ReadMe.txt para gerar uma classe tipada, refletindo as propriedades criadas no arquivo Web.Config.

ComVisibleAttribute

Este atributo está presente desde a versão 1.0 do .NET Framework. Ele tem a finalidade de controlar a acessibilidade de um membro ou tipo para o mundo COM. Já falei sobre ele aqui.

Esse atributo recebe em seu construtor um valor booleano indicando tal acessibilidade, com o valor padrão definido como True. Sendo assim, quando este atributo é omitido, assume-se que ele será exposto ao mundo COM. Só que há uma mudança no tipo de projeto Class Library entre a versão 1.x para a versão 2.0, mais precisamente no Visual Studio 2005. Quando criamos um projeto do tipo Class Library agora, esse atributo vem explicitamente definido como False, no arquivo AssemblyInfo.cs, impedindo que qualquer membro dentro deste Assembly seja visível.

Com isso, sempre que precisar criar um Assembly para hospedá-lo no COM+ ou até mesmo para interoperar com o mundo não gerenciado e, estiver criando sob o Visual Studio 2005, atente-se e defina este atributo como True.