Sharepoint: Forms authentication failed for the request. Reason: The ticket supplied has expired.

25 08 2011

Hoy escribiré también acerca de este error, empezaremos por citar un articulo que explica como funciona la autenticación de formas:

http://support.microsoft.com/kb/910443

De este articulo de Microsoft hago las siguientes conclusiones sobre este error:

Es un problema de ticket de autenticación, puede que aparezca aleatoriamente o después de un tiempo de estar en navegando sobre nuestra web

  • Cuando la aplicación esta configurada para usar Forms authentitcation en una granja, y no especificamos manualmente un machinekey la des encriptación del ticket de autenticación fallara y no será valida para otro el servidor, esto es valido cuando tenemos un balanceador o similar.
  • Otro escenario es cuando en el server que usamos para Forms authentitcation ha sido reiniciado o reciclado, la llave generada anteriormente fallará por que esta nueva instancia creará una nueva machinekey, y no será valida
  • La fecha y hora correcta en nuestro servidor, puede ser otra opción, ya que para generar el ticket se usar DateTime.Now, si no encontramos en una zona donde se usan dos horarios(Invierno/verano) puede causar que no sea la vigencia correcta.

Espero que les haya sido de ayuda.

Posted from WordPress for Windows Phone





SharePoint 2007 o 2010 System.Web.HttpException Request Timed Out

25 08 2011

¿De donde se origina el error, o que nos dice?

En primera puede ser variado el origen de esta exception, pero podríamos considerar como primeras opciones:

  • Proceso que se ejecuta en el IIS dura mucho más de lo permitido.
  • Hacemos una consulta a través de un DataAdapter y se tarda más de lo permitido.
  • Cargamos archivos muy grandes.

Cuando tenemos fallas de este estilo, podemos hacer las siguientes acciones:

Configurar nuestro web.config así:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

<system.web>
   <httpRuntime executionTimeout="900" maxRequestLength="4096" />
</system.web>

</configuration>

El executionTimeout lo configuramos a 900, con esto le indicamos que se puede tardar nuestro proceso ese tiempo.

Cambiamos maxRequestLength y lo configuramos a 4096 KB, o lo ajustamos a nuestras necesidades.

Para obtener más información de como configurar esta sección consulten:

http://msdn.microsoft.com/en-us/library/system.web.configuration.httpruntimesection.aspx

http://support.microsoft.com/kb/825739

Nota importante, si se trata de una pagina en _layouts, no se debe usar el web.config de nuestra aplicación, si no la que está en ese folder.

 

WordPress Windows Phone





Como visualizar el XML de un formulario de infopath

26 07 2011

Seguramente algún día necesitaremos leer el contenido de un infopath el XML, pues es sencillo.

Navegamos a nuestra librería de infopaths, visualizamos los detalles y aparecerá una sección donde indica el archivo XML.

Copiaremos la URL y al final agregaremos esto después de .XML:

?NoRedirect=true

Listo podremos visualizar el XML en lugar de abrir la forma.

Posted from WordPress for Windows Phone





Invocando postback infopath(XmlFormView) con javascript

18 07 2011

Quizas algún día les toque invocar submit a un infopath(XmlFormView), desde javascript, útil cuando se planea guardar automáticamente la forma. Aquí la solución:

var elementos = document.getElementsByTagName(“input”);
var ctr;
for(var i = 0; i < elementos.length;i++)
{
if(elementos[i].buttonid)
ctr=elementos[i];
}
ctr.click();

Sharepoint 2007
Posted from WordPress for Windows Phone





Hyper-V 0x00000101 Bug Check

14 06 2010

Hace unos días comencé a probar en un entorno de Hyper-V de Windows server 2008 R2, con la siguiente configuración:

(Host)

Procesador: Intel Core i7 975 x4(8 threads)
MB: DX58SO Extreme Series
RAM: 16 GB 1066 DDR3
HDD: RAID-5 1TB

(Hyper-V Machine)

RAM: 4 GB
HDD: 120 GB

Instalar el rol de Hyper-V en Windows Server 2008 R2 x64, me trajo serios problemas un BSOD:

0x00000101 (parameter1, 0000000000000000, parameter3, 000000000000000c)

CLOCK_WATCHDOG_TIMEOUT

Que es debido a un “errata” de Intel en sus procesadores basados en Nehalem, como es mencionada en:

http://download.intel.com/design/processor/specupdt/322166.pdf

Donde mencionan que se producen interrupciones falsas, para solucionarlo solo instalamos este parche de Microsoft y continuamos con la tarea.

http://support.microsoft.com/kb/975530





Integrando Ensamblador y SSE2(Streaming SIMD Extensions) con ASP .NET y WPF(Windows Presentation Foundation)

8 05 2010

Continuando con algunos experimentos en este post veremos como integrar Lenguaje ensamblador y SSE(Streaming SIMD Extensions) con C/C++, ASP .NET, WPF(Windows Presentation Foundation), de inicio mostrare el codigo ensamblador y SSE2 que se integrara, use Visual Studio 2010 para realizar este demo(puedes abajo descargar el código):

Ensamblador(x86 PP): Ejecuta una suma entre dos enteros usando los registros de 32-bits “EDX”, y código “ADD,MOV”, bastante simple pero servirá para mostrar como esto es posible:

Esto lo lograremos usando Visual Studio 2010, creamos un proyecto DLL Win32 que le llamé “TestLib.dll” para Visual C++, veremos que nos crea un template con todas las herramientas listas para crear una DLL y sigo escribiendo mi código de la función que sumara dos enteros de 32 bit usando ensamblador comente algunas líneas del código para explicarlo:

image

TESTLIB_API es un sobrenombre a “__declspec(dllimport)” que nos permite exportar funciones (hacerlas visibles) de la DLL y puedan ser consumidas posteriormente por otras aplicaciones.

Streaming SIMD Extensions 2: El siguiente paso es crear mi función para ejecutar instrucciones SSE2 en nuestro procesador, necesitamos un procesador compatible con esta tecnología, que en usos generales sirve para acelerar operación multimedia y juegos, en este caso usaremos “ADDPD” que básicamente nos suma dos matrices: (A,B)(C+B)=(A+C,B+D), es una instrucción muy usada en transformación de ViewPort-Matrix, escenas 3D, función:

image

He creado pruebas desde C++ para esta DLL, que van empaquetadas con todo el código fuente.

Ahora ya tenemos 2 funciones en ensamblador y SSE que llevaremos al siguiente paso:

.NET Framework 4, nos permite usar o ejecutar código nativo, Microsoft ha creado namespaces & clases que nos permiten interoperar con código nativo(unmanaged code), de tal forma que podemos consumir el código anteriormente expuesto, usaremos el marshaling para ejecutar nuestro código:

Primero creare una librería C# para .NET Framework 4(llamada ClassLibSSE-ASM), y dentro de la clase escribiré este código:

image

Una vez que lo he compilado ya tengo listo mi código para llevarlo a cualquier lado ya sea a ASP .NET o WPF, como veremos abajo:

ASP .NET: Crearemos un proyecto web app para .NET 4, y dentro de nuestro archivo default.aspx colocare los controles que encestaré para leer la entrada del usuario:

image

Posterior a esto, agregare referencia mi librería en .NET “ClassLibSSE-ASM” y copiare mi DLL de C/C++ “TesLib.dll” a mi carpeta “bin” de mi´aplicación web y seguiré escribiendo el código para mi eventos calcular:

image

Dentro de los eventos click llamaré los métodos correspondientes que están en ClassLibSSE_ASM.ClassSSESAMCLR.*, primero extraigo de los textBox mis datos y los paso a un tipo double[] a,b y c será el receptor de mi resultado, después de llamar Add_Array2SSE(a,b,c), y muestro resultados de la suma de matrices. y tendré resultados usando SSE digamos una suma de matrices optimizada por el procesador.

Mando a llamar la suma de enteros y muestro resultados

Puedo utilizar el debugger para ver como van viajando mis datos desde .NET a C/C++ y de ahí ensamblador/SSE:

ASP .NET Ensamblador(Da click para ver en grande):

imageimage image image

ASP .NET (Da click para ver mas grande.), SSE:

image image image image image image

Código(Solución de Visual Studio 2010):

DESCARGAR





Microsoft Live Labs Seadragon(Parte 3)

4 05 2010

En el post anterior veíamos como hacer el contenido para Seadragon, ahora vamos a Visual Studio 2010(puede ser el express), necesitamos descargarnos el ASP .NET AJAX Control Toolkit( depende de que versión de .NET estemos trabajando en este caso .NET 4 ), después de descargar el zip extraen todo a un folder.

En visual studio creamos un nuevo proyecto .NET Framework 4, pagina web ASP .NET(File->New->Project), nos mostrara default.aspx, abrimos el “Toolbox” y damos click derecho para agregar un nuevo tabulador(“tab”) que le llamaré “ASP .NET AJAX April 12(.NET 4)”, después donde acabo de crear mi tabulador: click derecho y damos “Choose Items…”:

image

Damos click en Browse y exploramos a donde hayamos extraído el zip de AJAX Toolkit, seleccionamos “AjaxControlToolkit”, damos open y luego OK,

image
Después de esto tendremos todos nuestros controles de AJAX en el tabulador, cambiamos la vista de default.aspx a modo “source”, seguimos a arrastrar del Toolbox, a dentro de la etiqueta form el control “ToolkitScriptManager” (localizando donde previamente lo agregamos), luego abajo de este ponemos arrastramos el control “Seadragon” y nos quedara así:

imagePosteriormente copiamos de los datos que hemos exportado de DeepZoom Composer (mydocuments\expression\Demo\Exported Data\aspsample\GeneratedImages) los xml y el folder “dzc_output_files” a nuestra carpeta de proyecto:

imageDentro del control <asp:Seadragon …./> agregamos la propiedad “SourceUrl=dzc_output.xml”:

image Con esto tendremos hecho nuestro proyecto hecho:

image