En muchas ocasiones para poder depurar una aplicacion web o un servicio necesitamos conocer el Id de proceso sobre el que corre la aplicacion Web en IIS (proceso W3WP) y asociar el codigo a dicho proceso para depurar.
Esto se utiliza bastante y es muy util en el desarrollo de componentes de SharePoint ya que para poder depurarlos es necesario hacerlo asociando la depuración al proceso de IIS.
Para ver los id de proceos asociados a los procesos de IIS7 debe ejecutarse el siguiente comando en el simbolo de sistema:
%windir%/system32/inetsrv/appcmd list wp
Este comando devolvera una lista de todos los procesos cuyo nombre contenga wp (El proceso de IIS es W3WP.exe)
WP “5716″ (applicationPool:DefaultAppPool)
WP “968″ (applicationPool:OtroAppPool)
WP “5836″ (applicationPool:OtroMasAppPool)
miércoles, 25 de julio de 2012
.NET,
IIS 7,
SharePoint,
SharePoint 2010
0
comentarios
Identificar el ID de Proceso de W3WP de un Pool de Aplicaciones de IIS 7
InfoPath,
InfoPath 2010,
PowerShell,
SharePoint,
SharePoint 2010
0
comentarios
No aparece el boton de edición de formularios con Infopath en SharePoint 2010
A veces ocurre que cuando vamos a editar un formulario de una lista en Infopath nos damos cuenta que el boton correspondiente del Ribbon no esta.
Esto puede deberse a los siguientes motivos:
- No tenemos activada una version Enterprise del servidor de SharePoint.
- Puede ser que nuestra licencia sea Standarda o que no se haya activado como Enterprise.
- No se han habilitado los servicios de Infopath.
- No se han activado las caracteristicas de Enterprise a nivel de colección de sitios y a nivel de sitio en la configuración de nuestro sitio.
A veces la caracteristica correspondiente a esta funcionalida no se activa correctamente. Esta caracterisitica no aparece en ninguna de las listas de caracteristicas del portal, asi que debe activarse a mano. Para hacerlo debemos ejecutar el siguiente comando en una ventan de PowerShell:
Enable-SPFeature -Identity c88c4ff1-dbf5-4649-ad9f-c6c426ebcbf5 -URL "URL del sitio" -force
Una vez ejecutado este comando podemos reciclar el Pool de Aplicaciones de IIS para asegurarnos que el cambio se realiza.
En cuanto refresquemos el navegador y accedamos a las opciones de la lista, el boton deberia estar en su sitio.
En caso de que esto no sea asi, podemos intentar ejecutar los siguientes comandos por orden para asegurarnos de que la carecteristica esta bien instalada:
Install-SPFeature -path "IPFSSiteFeatures" - force
Install-SPFeature -path "IPFSWebFeatures" - force
Enable-SPFeature -Identity c88c4ff1-dbf5-4649-ad9f-c6c426ebcbf5 -URL "URL del sitio" -force
Install-SPFeature -path "IPFSWebFeatures" - force
Enable-SPFeature -Identity c88c4ff1-dbf5-4649-ad9f-c6c426ebcbf5 -URL "URL del sitio" -force
Espero que sirvan de ayuda estas indicaciones.A mi me han servido bastante en varias ocasiones, ya que esta carcteristica no siempre se activa correctamente.
Curso de C#
Introducción
Este va a ser el inicio de un curso de C# que espero que podamos llevarlo hasta el final y que pueda servir de algo a todos.
Pretendo que este curso sirva a cualquiera que quiera aprender este lenguaje de programación a poder hacer sus propias aplicaciones, independientemente de los conocimientos que tenga de informática.
Este curso pretende enseñar desde lo más básico hasta lo más complicado, eso sí limitándonos al lenguaje en sí sin entrar en profundidad en librerías añadidas para cometidos concretos, habrá algunos casos en los que haya que entrar un poco más en ciertos aspectos por ser de uso mas común.
Podríamos decir que va ser un curso para principiantes, o sea todo se explicara de la manera más sencilla posible y en el caso de que no se pueda se machacara bastante ese tema para que pueda comprenderse.
Bueno vamos a empezar con lo que importa.
Echemos un vistazo al Framework
El .NET Framework es un conjunto de componentes que están integrados en el propio sistema operativo, según estos van avanzando en sus versiones van integrando el .NET Framework cada vez mas de forma nativa.
.NET Framework incluye un sistema de ejecución virtual denominado Common Language Runtime (a partir de ahora CLR), además está compuesto por un conjunto unificado de clases y componentes. CLE es la implementación realizada por Microsoft de la Common Language Infrastructure (CLI), norma internacional que constituye la base para crear entornos de ejecución y desarrollo independientes del lenguaje y la plataforma.
Todos los lenguajes que se pueden utilizar con el .NET Framework (C#, Visual Basic .NET, Fortran, J#, F#, COBOL, etc.) se compilan en un lenguaje intermedio conforme a la especificación CLI. Todo este código generado en el lenguaje que prefiramos y recursos, como imágenes o cadenas de texto, se almacenan en un archivo al que se denomina ensamblado y que puede se un archivo ejecutable (.exe) o una librería (.dll). Dichos ensamblados contienen un manifiesto que proporciona información sobre los tipos, la versión, la referencia cultural y los requisitos de seguridad del ensamblado.
Cuando se ejecuta un programa .NET el ensamblado se carga en CLR, con lo que se pueden realizar diversas acciones en función de la información del manifiesto. A continuación, si se cumplen los requisitos de seguridad, CLR realiza una compilación Just In Time (JIT) para convertir el código de lenguaje intermedio en codigo máquina nativo. CLR también proporciona otros servicios relacionados con la recolección automática de elementos no utilizados, el control de excepciones y la administración de recursos. El código ejecutado por CLR se denomina algunas veces "código administrado", en contraposición al "código no administrado" que se compila en lenguaje máquina nativo destinado a un sistema específico. En el diagrama siguiente se muestran las relaciones en tiempo de compilación y tiempo de ejecución de los archivos de código fuente de C#, las bibliotecas de clases de .NET Framework, los ensamblados y CLR.
Diagrama extraido de la pagina de Microsoft.
La interoperabilidad del lenguaje es una característica clave de .NET Framework. Como el código de lenguaje intermedio generado por el compilador de C# cumple la especificación de tipos común (CTS), este código generado en C# puede interactuar con el código generado en las versiones .NET de Visual Basic, Visual C++, Visual J# o cualquiera de los más de 20 lenguajes conformes con CTS. Un único ensamblado puede contener varios módulos escritos en diferentes lenguajes .NET, y los tipos admiten referencias entre sí como si estuvieran escritos en el mismo lenguaje.
Además de los servicios en tiempo de ejecución, .NET Framework también incluye una amplia biblioteca de más de 4.000 clases organizadas en espacios de nombres que proporcionan una gran variedad de funciones útiles para la entrada y salida de archivos, la manipulación de cadenas, el análisis XML, los controles de los formularios Windows Forms y muchas tareas más. La aplicación de C# típica utiliza continuamente la biblioteca de clases de .NET Framework para el tratamiento de las tareas comunes de "infraestructura".
Pongamos manos a la obra
Vamos a ver como generamos nuestro primer proyecto y como se ejecuta para ver el resultado. Mas adelante ya profundizaremos más en la estructura generada en el proyecto y en los distintos archivos que lo forman.
Para poder empezar debemos disponer de Visual Studio en cualquiera de sus versiones, pero a ser posible vamos a usar la última versión que Microsoft a liberado: Visual Studio 2010. Quien ya tenga una versión instalada puede usar esa si quiere, el que no puede descargar la versión Express del producto la cual es gratuita. Esta versión del Visual Studio puede descargarse desde la siguiente dirección:
http://www.microsoft.com/express/Downloads/
La versión 2010 en el momento de escribir esto solamente estaba disponible en Ingles, aquellos que no se apañen bien con el idioma puede descargar en la misma página la versión 2008 la cual si esta en castellano.
Si alguien tiene problemas instalando el producto lo único que hay que hacer es consultar en google y se pueden encontrar multitud de ayudas para la instalación del Visual Studio.
Una vez instalado, lo ejecutamos, veremos la siguiente pantalla:
Pulsamos sobre la opción de nuevo proyecto, esto nos mostrar una ventana en la que podemos seleccionar entre los distintos tipos de proyecto que nos permite Visual Studio. Seleccionamos el tipo “Aplicación de Consola”, escribimos un nombre de proyecto en la caja de texto correspondiente (“Name” ó “Nombre”), para este ejercicio pondremos “ConsolaPruebas” y pulsaremos el botón “OK”.
Tras esto se generara el proyecto y podremos ver en la ventana el archivo program.cs abierto, en la parte de la derecha vemos el explorador de la solución con los archivos generados para este proyecto.
Haremos una pequeña modificación para que esto no sea solo mirar y no tocar. Tenemos el método main, entre los signos que los limitan ({ }) vamos a escribir lo siguiente:
La primera línea (Console.WriteLine) escribe un mensaje en la consola que se arranca, la segunda línea espera a que pulsemos una tecla cualquiera para terminar la ejecución del programa.
Veremos el mensaje que hemos escrito en la consola y esta se quedara esperando a que pulsemos una tecla, momento en el que finalizara.
Conclusiones
Con esto concluimos este capitulo, hemos visto por encima un poco sobre como esta formado el .NET Framework.
Adema hemos generado nuestro primer proyecto le hemos añadido algo de codigo y lo hemos compilado y ejecutado.
Mas adelante profundizaremos mas sobre la estructura del proyecto y el codigo y analizaremos un poco mas todo lo que se genera con cada nuevo proyecto.
Espero que todo esto sirva a alguno para aprender un poquillo. Como no me tengo por ningun genio admito todo tipo de comentarios y respondere a dudas o corregire los articulos ante cualquier sugerencia.
Hasta el proximo capitulo.
Introducción
Este va a ser el inicio de un curso de C# que espero que podamos llevarlo hasta el final y que pueda servir de algo a todos.
Pretendo que este curso sirva a cualquiera que quiera aprender este lenguaje de programación a poder hacer sus propias aplicaciones, independientemente de los conocimientos que tenga de informática.
Este curso pretende enseñar desde lo más básico hasta lo más complicado, eso sí limitándonos al lenguaje en sí sin entrar en profundidad en librerías añadidas para cometidos concretos, habrá algunos casos en los que haya que entrar un poco más en ciertos aspectos por ser de uso mas común.
Podríamos decir que va ser un curso para principiantes, o sea todo se explicara de la manera más sencilla posible y en el caso de que no se pueda se machacara bastante ese tema para que pueda comprenderse.
Bueno vamos a empezar con lo que importa.
Echemos un vistazo al Framework
El .NET Framework es un conjunto de componentes que están integrados en el propio sistema operativo, según estos van avanzando en sus versiones van integrando el .NET Framework cada vez mas de forma nativa.
.NET Framework incluye un sistema de ejecución virtual denominado Common Language Runtime (a partir de ahora CLR), además está compuesto por un conjunto unificado de clases y componentes. CLE es la implementación realizada por Microsoft de la Common Language Infrastructure (CLI), norma internacional que constituye la base para crear entornos de ejecución y desarrollo independientes del lenguaje y la plataforma.
Todos los lenguajes que se pueden utilizar con el .NET Framework (C#, Visual Basic .NET, Fortran, J#, F#, COBOL, etc.) se compilan en un lenguaje intermedio conforme a la especificación CLI. Todo este código generado en el lenguaje que prefiramos y recursos, como imágenes o cadenas de texto, se almacenan en un archivo al que se denomina ensamblado y que puede se un archivo ejecutable (.exe) o una librería (.dll). Dichos ensamblados contienen un manifiesto que proporciona información sobre los tipos, la versión, la referencia cultural y los requisitos de seguridad del ensamblado.
Cuando se ejecuta un programa .NET el ensamblado se carga en CLR, con lo que se pueden realizar diversas acciones en función de la información del manifiesto. A continuación, si se cumplen los requisitos de seguridad, CLR realiza una compilación Just In Time (JIT) para convertir el código de lenguaje intermedio en codigo máquina nativo. CLR también proporciona otros servicios relacionados con la recolección automática de elementos no utilizados, el control de excepciones y la administración de recursos. El código ejecutado por CLR se denomina algunas veces "código administrado", en contraposición al "código no administrado" que se compila en lenguaje máquina nativo destinado a un sistema específico. En el diagrama siguiente se muestran las relaciones en tiempo de compilación y tiempo de ejecución de los archivos de código fuente de C#, las bibliotecas de clases de .NET Framework, los ensamblados y CLR.
Diagrama extraido de la pagina de Microsoft.
La interoperabilidad del lenguaje es una característica clave de .NET Framework. Como el código de lenguaje intermedio generado por el compilador de C# cumple la especificación de tipos común (CTS), este código generado en C# puede interactuar con el código generado en las versiones .NET de Visual Basic, Visual C++, Visual J# o cualquiera de los más de 20 lenguajes conformes con CTS. Un único ensamblado puede contener varios módulos escritos en diferentes lenguajes .NET, y los tipos admiten referencias entre sí como si estuvieran escritos en el mismo lenguaje.
Además de los servicios en tiempo de ejecución, .NET Framework también incluye una amplia biblioteca de más de 4.000 clases organizadas en espacios de nombres que proporcionan una gran variedad de funciones útiles para la entrada y salida de archivos, la manipulación de cadenas, el análisis XML, los controles de los formularios Windows Forms y muchas tareas más. La aplicación de C# típica utiliza continuamente la biblioteca de clases de .NET Framework para el tratamiento de las tareas comunes de "infraestructura".
Pongamos manos a la obra
Vamos a ver como generamos nuestro primer proyecto y como se ejecuta para ver el resultado. Mas adelante ya profundizaremos más en la estructura generada en el proyecto y en los distintos archivos que lo forman.
Para poder empezar debemos disponer de Visual Studio en cualquiera de sus versiones, pero a ser posible vamos a usar la última versión que Microsoft a liberado: Visual Studio 2010. Quien ya tenga una versión instalada puede usar esa si quiere, el que no puede descargar la versión Express del producto la cual es gratuita. Esta versión del Visual Studio puede descargarse desde la siguiente dirección:
http://www.microsoft.com/express/Downloads/
La versión 2010 en el momento de escribir esto solamente estaba disponible en Ingles, aquellos que no se apañen bien con el idioma puede descargar en la misma página la versión 2008 la cual si esta en castellano.
Si alguien tiene problemas instalando el producto lo único que hay que hacer es consultar en google y se pueden encontrar multitud de ayudas para la instalación del Visual Studio.
Una vez instalado, lo ejecutamos, veremos la siguiente pantalla:
Pulsamos sobre la opción de nuevo proyecto, esto nos mostrar una ventana en la que podemos seleccionar entre los distintos tipos de proyecto que nos permite Visual Studio. Seleccionamos el tipo “Aplicación de Consola”, escribimos un nombre de proyecto en la caja de texto correspondiente (“Name” ó “Nombre”), para este ejercicio pondremos “ConsolaPruebas” y pulsaremos el botón “OK”.
Tras esto se generara el proyecto y podremos ver en la ventana el archivo program.cs abierto, en la parte de la derecha vemos el explorador de la solución con los archivos generados para este proyecto.
Haremos una pequeña modificación para que esto no sea solo mirar y no tocar. Tenemos el método main, entre los signos que los limitan ({ }) vamos a escribir lo siguiente:
static void Main(string[] args)
{
Console.WriteLine("Hola a todos, este es el..... curso de c#");
Console.ReadLine();
}
La primera línea (Console.WriteLine) escribe un mensaje en la consola que se arranca, la segunda línea espera a que pulsemos una tecla cualquiera para terminar la ejecución del programa.
Ahora procederemos a ejecutar la aplicación, para ello pulsamos sobre el botón de Ejecutar
(
) en la barra de herramientas o presionamos F5. Esto compilara la aplicación y arrancara la consola.
(
) en la barra de herramientas o presionamos F5. Esto compilara la aplicación y arrancara la consola.Veremos el mensaje que hemos escrito en la consola y esta se quedara esperando a que pulsemos una tecla, momento en el que finalizara.
Conclusiones
Con esto concluimos este capitulo, hemos visto por encima un poco sobre como esta formado el .NET Framework.
Adema hemos generado nuestro primer proyecto le hemos añadido algo de codigo y lo hemos compilado y ejecutado.
Mas adelante profundizaremos mas sobre la estructura del proyecto y el codigo y analizaremos un poco mas todo lo que se genera con cada nuevo proyecto.
Espero que todo esto sirva a alguno para aprender un poquillo. Como no me tengo por ningun genio admito todo tipo de comentarios y respondere a dudas o corregire los articulos ante cualquier sugerencia.
Hasta el proximo capitulo.
Un saludo para todo el mundo.
Despues de mucho tiempo me he decidido a poner un blog en internet para compartir todo tipo de ayudas de desarrollo en .Net.
Me ha costado bastante decidirme, pero al final lo he hecho ya que asi tambien me sirve a mi de recordatorio sobre ayudas y articulos que he tenido que buscar en ocasiones y que despues de un tiempo he tenido que recuperar y ya no sabia ni donde estaban. Esto me supongo que nos pasara a muchos, por lo tanto este sera un sitio de recopilacion de toda esa información y cualquier otra cosa que se me ocurra para compartir.
En proximos dias comenzaran a aparecer articulos.
Despues de mucho tiempo me he decidido a poner un blog en internet para compartir todo tipo de ayudas de desarrollo en .Net.
Me ha costado bastante decidirme, pero al final lo he hecho ya que asi tambien me sirve a mi de recordatorio sobre ayudas y articulos que he tenido que buscar en ocasiones y que despues de un tiempo he tenido que recuperar y ya no sabia ni donde estaban. Esto me supongo que nos pasara a muchos, por lo tanto este sera un sitio de recopilacion de toda esa información y cualquier otra cosa que se me ocurra para compartir.
En proximos dias comenzaran a aparecer articulos.
Suscribirse a:
Entradas (Atom)







- Sigueme en Twitter!
- "Unete a mi en Facebook!
- RSS
Contacto