Acerca de InfoPath Forms Services y ensamblados de lógica empresarial
Última modificación: martes, 06 de julio de 2010
Hace referencia a: SharePoint Server 2010
En este artículo
El nuevo modelo de objetos de código administrado
Seguridad y rendimiento
Notas acerca del uso y las referencias a los ensamblados
En una plantilla de formulario habilitada para explorador se admite lógica empresarial personalizada si se usan los tipos y miembros compatibles del nuevo modelo de objetos de código administrado proporcionado por el espacio de nombres de Microsoft.Office.InfoPath . El entorno de desarrollo de Microsoft Visual Studio Tools for Applications integrado con el InfoPath Designer es compatible con los lenguajes Visual Basic y Visual C#.
En un servidor que ejecuta InfoPath Forms Services, no se admiten JScript, VBScript ni código administrado escrito con el modelo de objetos Microsoft.Office.Interop.InfoPath.SemiTrust introducido en Microsoft Office InfoPath 2003 con Service Pack 1.
El nuevo modelo de objetos de código administrado
El nuevo modelo de objetos de código administrado usa la clase [System.Xml.XPath.XPathNavigator] para explorar y actualizar los almacenes de datos XML, y la tecnología deMicrosoft SharePoint Foundation en la que se basa InfoPath Forms Services requiere la versión 2.0 de .NET Framework. Para obtener información detallada acerca del nuevo modelo de objetos de código administrado y los modelos de objetos desusados que pueden usarse con Microsoft InfoPath 2010, consulte el tema sobre la comprensión de los modelos de objetos y el entorno de desarrollo de InfoPath, que se encuentra en la referencia para programadores de InfoPath 2010 acerca de plantillas de formulario, que está disponible en el sistema de Ayuda de Microsoft Visual Studio Tools for Applications.
Para obtener más información acerca del subconjunto del nuevo modelo de objetos de código administrado que contiene los tipos y miembros que se pueden usar tanto en InfoPath como en un explorador web, consulte Compatibilidad con la característica de diseño único. Es posible determinar mediante programación el entorno de tiempo de ejecución para cambiar la lógica empresarial personalizada según si abre el formulario en InfoPath, en un explorador web de escritorio o en un explorador móvil. Para obtener más información acerca de cómo determinar el entorno de tiempo de ejecución, consulte el tema sobre cómo escribir lógica condicional que determine el entorno de ejecución que está ubicado en el sistema de Ayuda de Microsoft Visual Studio Tools for Applications.
Seguridad y rendimiento
Cuando se crea una plantilla de formulario compatible con el explorador, el archivo de código de formulario de InfoPath predeterminado estará firmado con el archivo de claves de nombre seguro InfoPath.snk. Puede usar un archivo de claves de nombre seguro diferente para los ensamblados de lógica empresarial. Si el archivo de código de formulario predeterminado o los ensamblados de apoyo no tienen nombre seguro ni están firmados y se actualiza la plantilla de formulario que contiene el ensamblado de lógica empresarial, se deberá reciclar el dominio de la aplicación de SharePoint (AppDomain).
Los permisos para los ensamblados de lógica empresarial de InfoPath se conceden a través de la resolución de directiva de seguridad de acceso del código (CAS). El nivel de confianza de dominio nuevo en el servidor es un concepto equivalente al nivel de confianza de dominio en el cliente. SharePoint incluye tres archivos de directiva: mínimo, medio y total. InfoPath Forms Services ofrece a los ensamblados de lógica empresarial la evidencia correspondiente, de modo que se asignen a un grupo de código definido en el archivo de directiva y obtengan el conjunto de permisos correcto. Este conjunto de permisos se concede al ensamblado de lógica empresarial cuando se carga en el dominio de la aplicación de ASP.NET, pero en la mayoría de los casos no será exactamente idéntico al que recibirá el mismo ensamblado cuando se abra en InfoPath la plantilla de formulario que contiene el ensamblado de lógica empresarial personalizada. Para poder garantizar que una plantilla de formulario se puede abrir en InfoPath y en un explorador, cuando un ensamblado de lógica empresarial realiza llamadas al modelo de objetos o cuando InfoPath Forms Services envía eventos al ensamblado de lógica empresarial, el conjunto de permisos se eleva o se reduce según corresponda para lograr el nivel correcto. Además, si una plantilla de formulario de InfoPath contiene varios ensamblados, todos los ensamblados se cargan al mismo tiempo para garantizar que se aplica un conjunto coherente de permisos.
Nota
Sólo las plantillas de formulario con plena confianza pueden contener código que crea de forma dinámica ensamblados en un servidor que ejecuta InfoPath Forms Services.
Todos los ensamblados de lógica empresarial de todas las plantillas de formulario habilitadas para explorador en los servidores que ejecutan InfoPath Forms Services se cargan, según sea necesario, en el dominio de la aplicación único que usa y controla SharePoint. Cuando se recicla el dominio de la aplicación, los ensamblados de lógica empresarial no se vuelven a cargar hasta que se solicitan de nuevo.
Los ensamblados de lógica empresarial se almacenan en cada servidor front-end web y se cargan mediante InfoPath Forms Services con el método LoadFrom de la clase Assembly de .NET Framework, que incluye la semántica para combinar la evidencia de entrada con la evidencia recopilada por el cargador para crear un conjunto final de evidencias usado para la resolución de directiva.
Notas acerca del uso y las referencias a los ensamblados
Si necesita compartir ensamblados entre varias plantillas de formulario, coloque los ensamblados compartidos en cada plantilla de formulario. Tenga en cuenta, sin embargo, que si una segunda plantilla de formulario o plantillas posteriores usan el mismo ensamblado pero están marcadas con un nivel de seguridad superior o inferior, el ensamblado compartido heredará el conjunto de permisos del dominio de la aplicación correspondiente del nivel de seguridad de la primera plantilla de formulario.
No se podrá realizar la conversión de un formulario que contenga ensamblados de lógica empresarial personalizada si cualquiera de los ensamblados del formulario tiene la misma identidad que un ensamblado de un formulario que ya se ha convertido y los dos ensamblados no son idénticos bit a bit.