Personalizar DataMember de DataContract

Filed Under (.Net) by admin on 22-06-2010

Tagged Under : ,

Os pongo un ejemplo, ya que en ocasiones lo que se quieres es cambiar el nombre por ejemplo de la columna que queremos formar a partir de los datos enviados. Pues bien es tan facil como “reescribir el atributo Name”

[DataContract(Name="status")]
public class StatusData
{
private string _name;
private string _errorDescription = null;

[DataMember(Name = "name1", Order = 0, EmitDefaultValue=false)]
public string Name
{
get { return _name; }
set { _name = value; }
}

[DataMember(Name = "error", Order = 1, EmitDefaultValue=false)]
public string Description
{
get{ return _errorDescription ;}
set {_errorDescription =value ;}
}

}

Problemas con las llamadas AJAX.NET en JSON: {“d”:{“__type”:”

Filed Under (.Net) by admin on 09-06-2010

Tagged Under : , ,

Parece ser que por defecto cuando incluimos una llamada AJAX.NET con un servicio y la serializamos en formato JSON, nos devuelve unos datos que no queremos: {“d”:{“__type”:”

Esto es porque puede haber un desbarajuste entre los tipos de datos de JavaScript y .NET y de esta forma se cura en salud….

Estos datos nos pueden producir problemas por ejemplo si tenemos una estructura de tabla (en mi caso un dataTable con YUI y el Datasource viene con un esquema bien definido. )

Pues bien esto se soluciona haciendo un pequeño ajuste en el webconfig:

1- Configuramos el behaviour como webHttp y no como enableWebScript (sería como por defecto con {“d”:{“__type”:”)

2- Y registramos el servicio:

Como llamar a métodos del code beside del ASPX con Js

Filed Under (.Net) by admin on 12-05-2010

Tagged Under : , , ,

1- creamos el metodo Js como normalmente lo hacemos. Ej: dimeHora()
2- lo asignamos a un evento de un boton (o de lo que sea) como normalmente hacemos … onclick=”dimeHora”
3- definimos en el code beside un metodo con y estatico (Shared)

_
Public Shared Function DameHora() As String
Return DateTime.Now.ToLongTimeString()
End Function

4- Para utilizarlo debemos activar la propiedad EnablePageMethods = True del ScriptManager(manejador de js de ASP.NET). Normalmente este se define en la MasterPage, pero sino se puede hacer un ScriptManager.GetCurrert()
5- Después para llamarlo solo tenemos que utilizar en el js el PageMethods:
PageMethods.DameHora()

Como quedaría el js:
function dimeHora()
{
PageMethods.DameHora(finLlamada, gestorDeErrores)
}
// finLlamada y gestorDeErrores manejan los resultados si ha ido bien o mal, como ya hacemos

Y porque os envio esto?
- No hace falta crear un servicio
- Reduce la carga de servidor, mejora el UpdatePanel que envía toda la información en los autoposback asíncronos
- no hace autoposback
- trabajamos con datos devueltos del método que estamos acostumbrados a trabajar en js (hacer eval)

Error en el inicio de instalación VS2008

Filed Under (.Net) by admin on 06-05-2010

Tagged Under : , ,

Si al iniciar la instalación de Visual Studio 2008 te produce un error y tienes instalado Microsoft Office 2007…
tienes la solución aqui¡¡ Se trata del Infopath que trae dicha versión, para desistalarlo solo tienes que ejecutar esto:

msiexec /x {30120000-0044-0C0A-0000-0000000FF1CE}

ASP.NET AJAX UpdatePanel ScriptManager – Dirigir el Foco hacia un Control

Filed Under (.Net) by admin on 27-04-2010

Tagged Under : , , , ,

Tradicionalmente cuando queremos dirigir el foco hacia un control hacemos esto:

Control.focus();

PERO si trabajamos con ASP.NET AJAX con un ScriptManager y un UpdatePanel al hacer postback asincrono el UpdatePanel , pierde el foco, para que esto no ocurra insertamos esta linea de codigo para lograr tener el foco donde queramos.

ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page);

scriptManager.SetFocus(CONTROL);

CONTROL = Textbox(Caja de Texto)

Espero los haya ayudado , suerte con sus desarrollos.

PS: el metodo.SetFocus(CONTROL) , tiene como paramentro cualquier tipo de CONTROL ASP.NET asi que podemos usar cualquier CONTROL

SOA: Arquitectura Orientada a Servicios

Filed Under (.Net) by admin on 07-04-2010

Tagged Under : , ,

Os dejo un enlace interesante a un whitepaper de Microsoft donde se hace una introducción a la arquitectura SOA, con un ejemplo de guía y unos consejos interesantes.

http://download.microsoft.com/download/c/2/c/c2ce8a3a-b4df-4a12-ba18-7e050aef3364/070717-Real_World_SOA.pdf

“Saltarse” las Constraints en SQLServer

Filed Under (.Net, SQLServer) by admin on 01-12-2009

Tagged Under : , , ,

Las constraints de una tabla de SQL Server se pueden desactivar temporalmente con la opción NOCHECK CONSTRAINT ALL de ALTER TABLE.
El comando quedaría así:
ALTER TABLE tabla NOCHECK CONSTRAINT ALL;
Con esto se desactivan y puedes hacer la carga de datos sin que te molesten las FK

Después, para volver a activarlas sólo tienes que hacer este otro ALTER TABLE:
ALTER TABLE tabla WITH CHECK CHECK CONSTRAINT ALL;
Reactiva las constraints chequeando que los datos de las tablas las cumplan

Si quieres volver a habilitarlas sin validar los datos que hayas cargado, aunque no es muy recomendable también se puede hacer:
ALTER TABLE tabla CHECK CONSTRAINT ALL;

Entrar en modo administrador en SQL Server 2005

Filed Under (.Net, SQLServer) by admin on 09-11-2009

Tagged Under : , , ,

Casi todos tenemos el SQL Server con la licencia de 2 usuarios y muchas veces algun compañero se le olvida cerrar la sesión mientras se va ha almorzar… pues bien… entra por fuerza bruta¡¡

ejecuta: mstsc /admin

y zas¡¡ dentro en modo administrador… despues puedes entrar en las tareas del servidor y ver quien esta conectado para cerrar las sesiones que veas.

¿¡¡ Donde esta la ventana de Inmediato en el Visual Studio ?¡¡

Filed Under (.Net) by admin on 10-08-2009

Tagged Under : , ,

Buff me he vuelto loco buscando como sacar la ventana de Inmediato en el Visual Studio…

No te compliques más: CTRL + ALT + I

Linq to SQL Debug Visualizer, depura facilmente tus consultas LINQ to SQL

Filed Under (.Net, LINQ, SQLServer) by admin on 01-07-2009

Tagged Under : , ,

Using the LINQ to SQL Debug Visualizer

One of the nice development features that LINQ to SQL supports is the ability to use a “debug visualizer” to hover over a LINQ expression while in the VS 2008 debugger and inspect the raw SQL that the ORM will ultimately execute at runtime when evaluating the LINQ query expression.

For example, assume we write the below LINQ query expression code against a set of data model classes:

We could then use the VS 2008 debugger to hover over the “products” variable after the query expression has been assigned:

And if we click the small magnifying glass in the expression above, we can launch the LINQ to SQL debug visualizer to inspect the raw SQL that the ORM will execute based on that LINQ query:

If you click the “Execute” button, you can even test out the SQL query and see the raw returned results that will be returned from the database:

This obviously makes it super easy to see precisely what SQL query logic LINQ to SQL ORM is doing for you. 

You can learn even more about how all this works by reading the Part 3: Querying our Database segment in my LINQ to SQL series above.

How to Install the LINQ to SQL Debug Visualizer

The LINQ to SQL Debug Visualizer isn’t built-in to VS 2008 – instead it is an add-in that you need to download to use.  You can download a copy of it here.

The download contains both a binary .dll assembly version of the visualizer (within the \bin\debug directory below), as well as all of the source code for the visualizer:

To install the LINQ to SQL debug visualizer, follow the below steps:

1) Shutdown all running versions of Visual Studio 2008

2) Copy the SqlServerQueryVisualizer.dll assembly from the \bin\debug\ directory in the .zip download above into your local \Program Files\Microsoft Visual Studio 9.0\Common7\Packages\Debugger\Visualizers\ directory:

3) Start up Visual Studio 2008 again.  Now when you use the debugger with LINQ to SQL you should be able to hover over LINQ query expressions and inspect their raw SQL (no extra registration is required).