让自己开发的Web应用程序与SharePoint共存
在MOSS下我们自己开发的Web应用程序无法在同一个站点下运行,那么如何使自己开发的Web应用程序与WSS3.0或MOSS2007共存呢,我们可以通过修改应用程序的Web.config文件来解决这个问题(以下没有特别注明的话,应用程序指自己开发的Web应用程序),原理是使用我们自己的应用程序web.config配置去覆盖顶层的WSS定义的配置,而不修改原有WSS的配置文件。
1、在应用程序的Web.config中在System.Web节,要清除上级应用程序中定义的asp.net handler, HTTP modules, 以及在WSS中使用的地址转发定义。我们要重新指定回使用asp.net handler来处理aspx页面,代码如下:
2、因为WSS3.0或MOSS2007设定了信任级别,在我们的应用程序中要修改信任级别,不使用WSS中的定义。增加代码:
3、因为顶层WSS的web.config中定义Session Module为不启用,即enableSessionState为false,所以我们可能需要去启用Session,在自己的应用程序配置中加入以下代码:
如果提示应用程序中Session module已经启用不能重启加入的错误,我们只需要移除httpModules节就行了。
通过以上的设置,我们的应用程序就可以跟WSS3或MOSS2007共存在同一个IIS站点下了。
1、在应用程序的Web.config中在System.Web节,要清除上级应用程序中定义的asp.net handler, HTTP modules, 以及在WSS中使用的地址转发定义。我们要重新指定回使用asp.net handler来处理aspx页面,代码如下:
<httpHandlers>
<clear />
<add verb="*" path="*.aspx"
type="System.Web.UI.PageHandlerFactory,
System.Web, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" />
</httpHandlers>
<httpModules>
<clear />
</httpModules>
<pages>
<tagMapping>
<clear/>
</tagMapping>
</pages>
<clear />
<add verb="*" path="*.aspx"
type="System.Web.UI.PageHandlerFactory,
System.Web, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" />
</httpHandlers>
<httpModules>
<clear />
</httpModules>
<pages>
<tagMapping>
<clear/>
</tagMapping>
</pages>
2、因为WSS3.0或MOSS2007设定了信任级别,在我们的应用程序中要修改信任级别,不使用WSS中的定义。增加代码:
<trust level="Full" originUrl="" />
3、因为顶层WSS的web.config中定义Session Module为不启用,即enableSessionState为false,所以我们可能需要去启用Session,在自己的应用程序配置中加入以下代码:
<httpModules>
<add name="Session"
type="System.Web.SessionState.SessionStateModule"/>
</httpModules>
<add name="Session"
type="System.Web.SessionState.SessionStateModule"/>
</httpModules>
如果提示应用程序中Session module已经启用不能重启加入的错误,我们只需要移除httpModules节就行了。
通过以上的设置,我们的应用程序就可以跟WSS3或MOSS2007共存在同一个IIS站点下了。