我在想,如果有一个开发功能时钩到SharePoint 2007网站的Application_Start一个好办法吗? 我知道我可以直接编辑在网站根Global.asax文件,但有什么办法,这样它就总是与功能部署要做到这一点?
谢谢!
我在想,如果有一个开发功能时钩到SharePoint 2007网站的Application_Start一个好办法吗? 我知道我可以直接编辑在网站根Global.asax文件,但有什么办法,这样它就总是与功能部署要做到这一点?
谢谢!
其实,这是可能的,但它不涉及在Global.asax文件。
许多微软的例子证明通过在Global.asax线路代码,但是当涉及到SharePoint,这不是一个最佳实践方法。 理想情况下,你的代码应该得到打包为特征,并通过WSP部署(如你已经知道)。
关键在于落实有问题的代码作为一个HttpModule(即实现IHttpModule接口类型),并将其接线到ASP.NET管道维护您的SharePoint应用程序。 粗略地说,这些步骤如下:
有关HTTP模块开发的更多信息,请参阅http://msdn.microsoft.com/en-us/library/ms227673.aspx 。 有关SPWebConfigModification类型的一些额外的细节,请参见http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.spwebconfigmodification.aspx 。
结果:能够处理应用程序启动并通过功能部署一类。 黑客无需手动文件。
使用自定义缓存提供商(IVaryByCustomHandler)是需要注册本身与SPHttpApplication回调的时候才开始最近的 - 我已经成功地使用这种在许多场景。
虽然你的问题是有点老,我希望这有助于!
在这我的直觉是,这将是不可能的。 的Application_Start由运行时的asp.net引擎调用时启动,所以最有可能不能以任何方式修改钩在Global.asax以外的处理器 - 例如钩必须声明和持久性,因为它有生存的应用程序停止/卸载。 所以,如果你有写在Global.asax,我想你可以写一个功能EventReceiver进行修改。
这且不说,你可以给的,为什么更多的细节? 也许还有其他攻击角度。 修改上飞在Global.asax的想法让我感到不适。 这不可能是好的。
[287]莪