Posts Tagged ‘development’
Enumerados mejorados en C#
Webkit en móviles
ppk ha publicado unas tablas en las que se comprarán las distintas versiones de webkit. Esto ha provocado la resupuesta Alex Russell y la posterior respuesta de ppk. En mi opinión, aunque el mundo de los navegadores móviles no se ha hecho perfecto, si que está mejorando bastante y seguramente se alcancen pronto características que yo desearía.
El final de ASP.NET WebForms
Parece que no sólo los controles móviles estaban muertos, sino que la tecnología de ASP.NET WebForm ha alcanzado su madurez y es posible que no pueda desarrollarse mucho más para solucionar los inconvenientes que tiene. Al menos eso es lo que afirma Dino Esposito.
En mi opinión los WebForms han alcanzado su principal cometido: permitir una migración sencilla de desarrolladores de aplicaciones en Visual Basic a desarrolladores Web,con la intención de cubrir la demanda de aplicaciones de intranets coorporativas.
Mobile Web Application Toolkit
Microsoft a liberado los Web Application Toolkit para aplicaciones móviles, y un video. En ellos se muestra el desarrollo para aplicaciones web móviles usando ASP.NET MVC.
¿Están los controles móviles de ASP.NET muertos?
Si hace unos días respondíamos en el siguiente blog, que con casi con toda seguridad lo estaban. Ahora hemos encontrado un post en la misma opinión. Aunque parece que sí se pondrán usar desde VisualStudio 2008.
Equipos de desarrollo
Error al pasar un sitio web a una aplicación web en ASP.NET
Muchas veces con los proyectos ASP.NET tenemos el problema de que los controles de usuario definidos en el diseñador no aparecen definidas en la vista de código.
Esto suele pasar al migrar Sitios Web a Aplicaciones Web en ASP.NET, y se debe básicamente a que no se recompilan los archivos .aspx.designer.cs. Para solucionarlo sólo tenemos que ir al proyecto y con botón derecho, elegir la opción
Enumerados y Atributos
Siempre me ha encantado la manera en que Gentle.NET maneja los errores, usando enumerados y atributos.
/// <summary>
/// This enumeration lists all common error conditions, their severity and a
/// default error message.
/// Unspecified errors or errors with no severity attribute are treated as critical.
/// At this time almost all errors have been brainlessly classified as critical pending
/// a review at some future time.
/// </summary>
public enum Error
{
/// <summary>
/// This error is used when no connection to the database server could be
/// established. This is usually caused by errors in the connection
/// string, but can also be due to network or database server problems.
/// </summary>
[Level( Severity.Critical ),
Message( "The database backend (provider {0}) could not be reached.\r\n" +
"Check the connection string: {1}" )]
DatabaseUnavailable,
/// <summary>
/// This error is used when an error in the use of Gentle was detected
/// (e.g. invalid use of or missing custom attributes). No default message
/// is provided for this error (if used via the Check class the first
/// argument will be used as format string for remaining arguments).
/// </summary>
[Level( Severity.Error )]
DeveloperError
Hoy he estado usando esta técnica en un proyecto. Además he encontrado esta librería que también me ha servido de inspiración.
Entorno de desarrollo de Jeremy D. Miller
Jeremy D. Miller usa como entorno (infraestructura?) de desarrollo: TeamCity + SVN + NUnit + Rake (via)
HttpWebRequest Timeout in HTTP Get
En estos últimos días he tenido un problema bastante curioso. Era una aplicación multi-hilo (50 hilos simultáneos de ejecución) que realizaba peticiones HTTP Get a distintos servidores. El problema es que se presentaban bastante timeouts en las peticiones HTTP y sin embargo el servidor estaba en un correcto funcionamiento.
El código era algo como esto:
public static string Get2(string uri)
{
string responseData = string.Empty;
WebRequest request = WebRequest.Create(uri) as HttpWebRequest;
request.Method = "GET";
request.Timeout = 35000;
using(HttpWebResponse response = (HttpWebResponse)request.GetResponse() as HttpWebResponse)
{
using(Stream dataStream = response.GetResponseStream ())
{
using(StreamReader reader = new StreamReader (dataStream))
{
responseData = reader.ReadToEnd();
}
}
}
return responseData;
}
Tras buscar, encontré bastantes links y este bastante interesante.
El problema era que .NET sólo permite 2 conexiones HTTP a cada sitio, tal y como establece el el protocolo HTTP1.1. Para aumentar este número, lo único que hace falta es incluir esta configuración en el app.config o web.config.
<connectionManagement> <addaddress="*"maxconnection="40"/> </connectionManagement>



