una que lista sharepoint sharepoint-2007 global-asax application-start

que - ¿Cómo se puede conectar una función de SharePoint 2007 en Application_Start de un sitio?



que es una lista de sharepoint en access (2)

Mi instinto sobre esto es que no será posible. Application_Start es invocado por el motor de ejecución cuando el motor asp.net se está iniciando, por lo que lo más probable es que no haya forma de enganchar el controlador fuera de la modificación de Global.asax; por ejemplo, el enlace debe ser declarativo y persistente como debe. sobrevivir a la parada / descarga de la aplicación. Entonces, si tiene que escribir en global.asax, supongo que podría escribir un Feature EventReceiver para realizar la modificación.

Aparte de eso, ¿puedes dar más detalles sobre por qué? Quizás haya otros ángulos de ataque. La idea de modificar el archivo.asax global sobre la marcha me hace sentir mal. Eso no puede ser bueno.

Oisin

Me preguntaba si hay una buena manera de conectarme al Application_Start de un sitio de SharePoint 2007 al desarrollar una función. Sé que puedo editar directamente el archivo Global.asax en la raíz del sitio, pero ¿hay alguna manera de hacerlo para que se implemente con la función?

¡Gracias!


Esto es realmente posible, pero no involucra el archivo Global.asax.

Muchos de los ejemplos de Microsoft demuestran el código de cableado a través de Global.asax, pero este no es un enfoque de mejores prácticas cuando se trata de SharePoint. Idealmente, su código debe empaquetarse como una característica y desplegarse a través de WSP (como ya sabe).

La clave está en implementar el código en cuestión como un HttpModule (es decir, un tipo que implementa la interfaz IHttpModule) y cablearlo en la tubería ASP.NET que da servicio a su aplicación SharePoint. En general, estos son los pasos:

  1. Cree una clase que implemente la interfaz IHttpModule.
  2. Implementa el método Init en tu HttpModule; esto se llama cuando la aplicación Http (en este caso, la aplicación SPHttp) está configurada, y le da la oportunidad de llevar a cabo delegados de procesamiento, eventos de cableado para otros eventos de canalización, etc.
  3. Cree un SPFeatureReceiver que agregará y eliminará su HttpModule de los archivos web.config de destino en activación y desactivación, respectivamente. Esto se lleva a cabo utilizando el tipo SPWebConfigModification para actualizar el nodo <httpModules> en los archivos web.config de destino.
  4. Empaquete todo como una Característica e impleméntelo a través de WSP.

Para obtener más información sobre el desarrollo de HttpModule, consulte http://msdn.microsoft.com/en-us/library/ms227673.aspx . Para obtener más información sobre el tipo de SPWebConfigModification, consulte http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.spwebconfigmodification.aspx .

Resultado: una clase que puede manejar el inicio de aplicaciones y se puede implementar a través de Feature. No es necesario hackear archivos manualmente.

Lo he usado con éxito en varios escenarios, más recientemente con un proveedor de caché personalizado (IVaryByCustomHandler) que necesitaba registrarse para las devoluciones de llamada con SPHttpApplication cuando comenzó.

Aunque tu pregunta es un poco más antigua, ¡espero que esto ayude!