【问题标题】:Deploy ASP.NET application in the same web site as Sharepoint在与 Sharepoint 相同的网站中部署 ASP.NET 应用程序
【发布时间】:2011-03-16 08:49:37
【问题描述】:

我正在尝试将作为普通 ASP.NET 2.0 应用程序的 Bugtracker.NET 工具 (http://ifdefined.com/bugtrackernet.html) 部署到已安装 Sharepoint 的 IIS 的默认网站中。操作系统为 Windows Server 2008 R2、IIS 7.5 和 Sharepoint Services 3.0。

问题是,当我执行应用程序时,我得到一个 NullReferenceException,因为 HttpContext.Current.Session 为空,我认为这可能是由于网站的配置有问题,因为应用程序运行完美在未安装 Sharepoint 的网站中。

我已经知道 Sharepoint 使用句柄、模块等自定义网站,网站中的所有应用程序都继承这些,修改它们的行为。我已经为 ASP.NET 应用程序提供了完全信任级别,启用了匿名身份验证和 InProc 会话状态,但我仍然认为 HttpContext.Current.Session 为空。即使将应用程序池从 Wss3AppPool 更改为 DefaultAppPool 也不成功。

也许有人可以告诉我需要在网站中调整哪些设置以避免此异常。

非常感谢。

何塞·安东尼奥·阿罗巴

【问题讨论】:

  • 不知道它是否会工作,但也许您可以在网站内创建一个虚拟目录,或者在网站内创建一个 Web 应用程序(在 IIS 中)。我过去做过一些事情,但不知道它是否适用于会话变量。

标签: asp.net sharepoint iis session-state


【解决方案1】:

您需要查看 Managed Paths 并排除您的 bugtrackernet 应用程序的路径。

但是为什么你必须使用默认的网络应用程序?

为什么不让您的生活保持简单,并在单独的主机标头或子域上设置一个新的 IIS Web 应用程序并在那里托管您的应用程序。

例如

http://bugtracker.yourdomain/

或者只是

http://bugtracker/

【讨论】:

  • 瑞恩,你是完全正确的。我忘记了使用主机标头可以分隔侦听相同端口和协议的不同网站。我以这种方式建立了一个不同的网站,现在该应用程序就像一个魅力。也感谢 Sharepoint 中托管路径的提示!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-05
  • 1970-01-01
  • 2011-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-31
相关资源
最近更新 更多