Esto es realmente posible, pero que no implica 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. A grandes rasgos, estos son los pasos:
- Cree una clase que implemente la interfaz IHttpModule.
- Implemente el método Init en su 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 procesadores, delegados de evento cableados para otros eventos de canalización, etc.
- Cree un SPFeatureReceiver que agregará y elimine 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 target web.config.
- Paquete todo como una característica y despliegue 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 detalles sobre el tipo SPWebConfigModification, consulte http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.spwebconfigmodification.aspx.
Resultado: una clase que puede manejar el inicio de la aplicación y se puede implementar a través de la característica. No es necesario hackear archivos manualmente.
He utilizado esto con éxito en una serie de escenarios, más recientemente con un proveedor de caché personalizado (IVaryByCustomHandler) que necesitaba registrarse para las devoluciones de llamada con SPHttpApplication cuando se inició.
Aunque su pregunta es un poco más antigua, ¡espero que esto ayude!