在Sharepoint相同的网站中部署ASP.NET应用程序

3
我正在尝试将Bugtracker.NET工具(http://ifdefined.com/bugtrackernet.html)部署到已安装Sharepoint的IIS的默认网站中,该工具是一个普通的ASP.NET 2.0应用程序。操作系统是Windows Server 2008 R2,IIS 7.5和Sharepoint Services 3.0。
问题在于当我执行应用程序时,会出现NullReferenceException,因为HttpContext.Current.Session为空,我认为这可能是由于Web站点配置问题导致的,因为在没有安装Sharepoint的Web站点中运行的应用程序完美运行。
我已经知道Sharepoint使用处理程序、模块等自定义Web站点,所有Web站点中的应用程序都继承了它们,修改了它们的行为。我已经赋予ASP.NET应用程序完全信任级别,启用了匿名身份验证和InProc会话状态,但我仍然得到HttpContext.Current.Session为空的错误。即使将应用程序池从Wss3AppPool更改为DefaultAppPool也不起作用。
也许有人可以告诉我需要在Web站点中调整哪些设置以避免此异常。
非常感谢。

不知道它是否有效,但也许你可以在网站内创建一个虚拟目录,或者在网站内创建一个Web应用程序(在IIS中)。我以前做过类似的事情,但不确定它是否适用于会话变量。 - Jan_V
1个回答

3
你需要查看托管路径并排除到您的bugtrackernet应用程序的路径。
但是为什么一定要使用默认的Web应用程序呢?
为什么不简单地保持生活,设置一个新的IIS Web应用程序,在单独的主机标头或子域上托管您的应用程序。
例如。

http://bugtracker.yourdomain/

或者只是

http://bugtracker/


Ryan,你说得完全正确。我忘记了使用主机头可以将侦听相同端口和协议的不同网站分开。我已经通过这种方式设置了一个不同的网站,现在应用程序运行得非常好。同时,感谢你在Sharepoint中提供的托管路径提示! - Jose Antonio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接