【问题标题】:ASP.NET 4.0 app mapped through virtual folder on SharePoint 2010通过 SharePoint 2010 上的虚拟文件夹映射的 ASP.NET 4.0 应用程序
【发布时间】:2011-09-05 07:06:48
【问题描述】:

我正在考虑在 SharePoint 2010 应用程序下发布一个 ASP.NET MVC 3 应用程序在 IIS 上(不是在 SharePoint 内作为 SPSite 或其他东西,只是用于 SSO 集成 w 的常规 IIS 应用程序.SP)。

然后 MVC 应用程序将只继承一些配置。它没有对 SharePoint 的引用,而且除了它是 IIS 中 SharePoint 2010 应用程序下的子应用程序之外,SharePoint 也没有对它的任何引用。

三重问题:

  • 有可能吗?
  • 例如,在 3.5 上运行的 SharePoint 2010 以及在 4.0 上运行的新应用程序是否存在任何明显问题?足以使用不同的应用程序池?
  • 我担心我的 MVC 应用程序与 SharePoint 之间的 web.configs 继承
web.config。这两者之间的 web.config 继承是否有任何问题?

【问题讨论】:

  • 是的。有可能的。只要您的开发仅限于 SP2010 使用的框架,您应该没问题。 .NET 4 与 3.5 兼容,我认为没有问题。
  • 在这种情况下,我说的是 ASP.NET MVC 3 应用程序。会有任何 web.config 继承问题吗?

标签: asp.net-mvc-3 iis .net-4.0 .net-2.0 subapplication


【解决方案1】:

更新(2013 年 2 月 27 日):我们不再需要使用 XML 元素来停止从 SharePoint 到 ASP.Net MVC 3 应用程序的继承。我们需要使用 Web.Config 中的 XML 元素将 FullTrust 赋予 ASP.Net 应用程序。

一些 HTTP 模块/HTTP 处理程序需要从 ASP.Net MVC 3 应用程序中禁用。

对于 SharePoint 2010 方案,我还必须将 XML 元素从 SharePoint 2010 web.config 文件移动到 C:\Windows\Microsoft.NET\Framework64\v2 .0.50727\CONFIG\web.config 文件,因为它与 .NET 4.0 冲突。如果将它移到那里,它仍将由 SharePoint web.config 继承。

无论如何,我不会在这里重复所有步骤。 请看我的博文:

带有 SharePoint Server 2010 的 MVC 3:

http://samsonfr.wordpress.com/2013/02/26/recette-amliore-intgrer-une-application-asp-net-mvc-3-sous-un-site-web-iis-hbergeant-sharepoint-server-2010/

带有 WSS 3.0 的 MVC 3:

http://samsonfr.wordpress.com/2013/02/26/recette-amliore-intgrer-une-application-asp-net-mvc-sous-un-site-web-iis-hbergeant-wss-3-0-sharepoint-2007/

它是法语的,但我想你可以使用谷歌翻译。

最好的问候,

【讨论】:

  • 翻译页面有点困难,我遇到了一些障碍,但上面提到的博客是正确的(感谢 Frederick!)。我最近写了这个,以防有人遇到我遇到的类似问题:ericjamesw.com/2012/12/adding-aspnet-40-application-to.html
  • 有点老了,但这也是我们最终做的。由于 system.web.extensions,不记得它是我们编辑的生产服务器上的 machine.config 还是 .NET 2.0 的 web.config,但您可能对 web.config 是正确的。
【解决方案2】:

我尝试过但失败了。目前必须在单独的 IP 上托管 .Net 4 应用程序,这会产生各种跨脚本/安全问题。我在这里找到了一些提示:http://www.asp.net/learn/whitepapers/aspnet4/breaking-changes 但无法正常工作。

【讨论】:

【解决方案3】:

如果您的应用程序将仅在 Virtual 文件夹 下运行(因此它可以在需要时访问 SPContext)而不是实际在 Application folder 下(因此未集成到 Sharepoint 中all) 那么我猜 Asp.net MVC 3 是不可能的,因为它的 .net 4 关系。

但是。 Asp.net MVC 2 绝对是可能的。我正在开发这样的应用程序,它按预期工作。不过,我花了一些时间来集成它……我的集成使仅更改根 Sharepoint 的站点 web.config 成为可能(仅向其中添加新内容,没有任何内容被删除或更改)。我什至没有更改路由定义的Global.asax

我的应用程序作为 Sharepoint Foundation 2010 站点下的虚拟文件夹运行,并且可以访问 SPContext,并且还受 Sharepoint 的安全控制(身份验证由 SP 2010 站点执行)。所以这绝对是可能的。

但它必须是 Asp.net MVC 2,因为它在 .net 3.5 上运行,与 Sharepoint 2010 相同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-26
    • 1970-01-01
    • 2010-12-18
    • 1970-01-01
    • 2023-04-06
    • 2015-09-30
    • 2013-10-17
    • 1970-01-01
    相关资源
    最近更新 更多