1
13
这实际上是可能的,但它不涉及global.asax文件。 许多微软的例子都通过global.asax演示了连接代码,但对于SharePoint来说,这不是一种最佳实践方法。理想情况下,您的代码应该打包为一个特性,并通过wsp进行部署(正如您已经知道的那样)。 关键在于将相关代码实现为httpmodule(即实现ihtpmodule接口的类型),并将其连接到为SharePoint应用程序提供服务的ASP.NET管道中。大致来说,步骤如下:
有关httpmodule开发的更多信息,请参阅 http://msdn.microsoft.com/en-us/library/ms227673.aspx . 有关SPWebConfigModification类型的其他详细信息,请参阅 http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.spwebconfigmodification.aspx . 结果:一个可以处理应用程序启动并可以通过功能进行部署的类。不需要手动文件黑客。 我已经在许多场景中成功地使用了这个方法——最近在一个自定义缓存提供程序(ivaryByCustomHandler)中使用了这个方法,它在启动时需要在sphtpapplication中注册回调。 虽然你的问题有点老套,但我希望这有帮助! |
2
3
我的直觉是这是不可能的。当ASP.NET引擎正在启动时,运行时会调用应用程序启动,因此很可能无法在修改global.asax之外挂接处理程序-例如,挂接必须是声明性的和持久的,因为它必须在应用程序停止/卸载后生存。因此,如果必须写入global.asax,我想您可以编写一个特性eventreceiver来执行修改。 除此之外,你能提供更多关于原因的细节吗?也许还有其他的攻击角度。在飞行中修改global.asax的想法让我感觉不舒服。那不太好。 莪相 |
nick_n_a · 如何获取意外sharepoint错误的详细信息? 7 年前 |
Jayant Rao · Sharepoint列表项引发null错误 11 年前 |
chuck · 将SP 2007 web部件迁移到SP 2010 11 年前 |
Michael A · 在同一网站集中的文档库之间移动文件 12 年前 |