¿Necesitas desarrollar una aplicación stand-alone que invoque las APIs de una instalación de Community Server 2007 (CS2007)? Aquí te presento un procedimiento básico para lograrlo.
Procedimiento:
-
Crear proyecto en Visual Studio 2005 (VS2005)
-
Copiar archivos de CS2007
-
Establecer referencias y codificación
En este punto lo que tienes que hacer es crear el proyecto en Visual Studio, puede ser una aplicación Windows o una aplicación de consola.
Lo siguiente que tienes que hacer es configurar la aplicación para poder invocar las APIs, conectarte a la base de datos y establecer el contexto de trabajo. Para ello, lo que debes de hacer es copiar los siguientes archivos de la instalación de CS2007 a tu aplicación actual:
Del directorio {CS2007Home}bin, al directorio de tu aplicación {AppHome}bin:
- CommunityServer.Components.DLL
- CommunityServer.SqlDataProvider.dll
- CommunityServer.ASPNet20MemberRole.dll
- Telligent.Components.DLL
-
Telligent.MailGateway.Common.DLL
Nota: Estos archivos pueden copiarse, o bien, se puede agregar la referencia a ellos desde su directorio de instalación.
Del directorio {CS2007Home} al directorio raíz de tu aplicación {AppHome}:
-
communityserver.config
-
connectionStrings.config
-
Web.config –> Este archivo debe renombrarse para tener el nombre de tu aplicación ejecutable más la extensión .config. Ej. {AppName}.exe.config
Finalmente, hay que copiar los archivos de configuración al directorio de salida (OutDir) de la aplicación; esto lo puedes hacer modificando la opción Post-build event command line en las propiedades Build Events del proyecto:
xcopy «$(ProjectDir)*.config» «$(ProjectDir)$(OutDir)» /y
Establecer referencias y codificación
Para este punto primero debes agregar la referencia al siguiente espacio de nombres de las APIs de CS2007:
using CommunityServer.Components;
namespace Migration
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
string status = string.Empty;
// Inicializa contexto por default
CSContext ctx = CommunityServer.Components.CSContext.Create(1000);
// Cambiamos al usuario admin de CS
ctx.User = CommunityServer.Users.GetUser(2100,false);
// Creamos objeto usuario que será agregado
User user = new User(«Román»);
user.Email = «romanlozano@hotmail.com»;
user.Password = «Pa$$w0rd»;
// Importante poner que no se trata de un usuario anónimo ya que por default,
// CS2007 maneja a los usuarios como anónimos.
user.IsAnonymous = false;
// Manda crear el usuario e indicamos si si quiere enviar correo de notifiación,
// en este caso no enviamos el correo
switch (CommunityServer.Users.Create(user, false))
{
case CreateUserStatus.Created:
status = «Usuario creado!»;
break;
case CreateUserStatus.DisallowedUsername:
status = «Nombre de usuario inválido!»;
break;
case CreateUserStatus.DuplicateUsername:
status = «El nombre de usuario ya existe!»;
break;
}
}
catch (Exception ex)
{
System.Console.Out.WriteLine(ex.Message);
}
}
}
}
Más información
Para una mayor referencia del tema te sugiero que visites la página de Community Server 2007, y en especial las secciones de foros y documentación.
Bytes…
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.