Categories
.NET Microsoft

MSDN Wiki

A partir de ahora cualquier usuario con una cuenta de Windows Live Id o Hotmail podrá aportar a la documentación de MSDN, por el momento sólo se pueden hacer contribuciones a la documentación de Visual Studio 2005 y Windows SDK

Algunas características adicionales:

  • Edición en linea e historial de los cambios
  • Añadir/editar contenidos desde el Visual Studio
Categories
.NET ASP.NET

Tip: Determinar en tiempo de ejecución, si una aplicación ASP.NET está en modo “Debug”

Si por algún motivo alguien necesita realizar ciertas acciones (ejm. mostrar información de depuración) cuando una aplicación está en modo Debug, talvez le interese el siguiente código -que comprueba en tiempo de ejecución si la aplicación Web está con la directiva <compilation debug="false"/> en el Web.config:

csharp:

private bool IsDebugMode()
{
    Page p = HttpContext.Current.Handler as Page;
    if (p != null) {
        object[] o = p.GetType().Assembly.GetCustomAttributes(typeof(DebuggableAttribute), true);

        return o != null && o.Length > 0;
    }
    return false;
}

Hay que tener en cuenta que este tipo de cosas se deben evitar en entornos de producción -al igual que tener la aplicación en modo Debug.

Categories
.NET AJAX ASP.NET Microsoft Recursos

Video: Llamadas a Servicios Web con ASP.NET Ajax

Para los interesados en aprender ASP.NET Ajax (a.k.a Atlas), Dan Wahlin, publicó un video muy explicativo sobre las diferentes formas de hacer llamadas a Servicios Web desde javascript.

Pueden:

Categories
.NET ASP.NET Utilidades Windows Forms

Envío de emails con imágenes incrustadas – .NET 2

Por si alguien le sirve, muestro un pequeño ejemplo en C# para enviar emails con imágenes incrustadas en el cuerpo del mensaje.

El servidor SMTP que se usa en este caso es el de GMail

csharp:

MailMessage mensaje = new MailMessage("fulano@gmail.com", "alguien@empresa.com");

mensaje.Subject = "Prueba imágenes embedidas";

// Crear la vista HTML del mail, notar lo que se pone en el tag "img"
AlternateView html = AlternateView.CreateAlternateViewFromString(@"<h1>Buayacorp</h1>
        <img src="
"cid:buayacorp_logo"" /><br /><p>Esto es una prueba de una imagen incrustada</p>", Encoding.UTF8, "text/html");

// Crear la vista de texto plano, siempre es bueno para aquellos que no les gusta el HTML
AlternateView texto = AlternateView.CreateAlternateViewFromString("BuayaCorp\n\nTexto plano", Encoding.UTF8, "text/html");

// Adjuntar el recurso logo.jpg, con id "buayacorp_logo" a la vista HTML
LinkedResource logo = new LinkedResource(@"C:\logo.jpg");
logo.ContentId = "buayacorp_logo";
html.LinkedResources.Add(logo);

// Añadir las 2 vistas del correo
mensaje.AlternateViews.Add(texto);
mensaje.AlternateViews.Add(html);

// Definir el servidor SMTP, GMail usa SSL para la autenticación
SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
smtp.EnableSsl = true;

// Ingresar nuestra cuenta de gmail
smtp.Credentials = new NetworkCredential("fulano@gmail.com", "contraseña");
smtp.Send(mensaje);

Categories
.NET ASP.NET Mono Utilidades Windows Forms

Mono Migration Analyzer

Mono Migration Analyzer analiza los ensamblados .NET para determinar si éstos son compatibles o no con Mono.

Por ejemplo, estos son los resultados del pequeño exploit que publiqué hace tiempo:

Mono Migration Analyzer results

MoMA Scan Results

Scan time: 28/11/2006 02:33:03 p.m.

For descriptions of issues and what to do, see http://www.mono-project.com/MoMA_-_Issue_Descriptions.

xploit.exe
Methods missing from Mono
Calling Method Method not yet in Mono
Class BuayaCorp.Main:
void InitializeComponent() void Form.add_FormClosing(FormClosingEventHandler)

Miguel de Icaza comenta algunos resultados enviados a través de esta aplicación.

Actualización

Más datos sobre el feedback que se envió a través de Mono Migration Analyzer