ASP.NET MVC应用程序在Sharepoint 2007虚拟目录
我有MOSS 2007安装在可以说http://localhost:4999/,我想我的自定义ASP.NET MVC(1.0)应用程序在http://localhost:4999/mvcapp/ - 逻辑指示,在IIS中,我应该创建一个新的应用程序虚拟目录在我的MOSS网站下,并指向我的自定义MVC应用程序。ASP.NET MVC应用程序在Sharepoint 2007虚拟目录
我已经做到了这一点,它适用于执行我的控制器等,但是,我的/内容的内容都没有被返回!所有引用的图像,JavaScript和CSS都不会被检索。
如果我把这个应用程序放到它自己的网站或非共享点站点内的虚拟应用程序,这可以正常工作,并将图像,js和css视为正常。
注 - 我正在IIS中创建一个新的应用程序,而不仅仅是一个虚拟目录,我没有要求与SharePoint集成,我只是希望它具有相同的域和端口号。
任何想法?
干杯 托尼
**编辑** 为了澄清 - 正在生成的URL的不是问题 - 他们是正确的,并以同样的方式被产生,因为它们可能,如果这WASN托管在共享点下。 IE:/mvcapp/Content/Scripts/jquery.js等
**编辑2 ** 更澄清 - 该MVC应用程序有它自己的web.config文件 - 但现在看来,使用虚拟目录withn一个时sharepoint站点,许多处理程序映射仍然被推送到子站点(注意:这是一个配置为单独应用程序的虚拟目录,而不仅仅是一个虚拟目录)。
虽然我不想或不需要SharePoint集成,但我需要我的MVC应用程序来自同一个域和端口,以克服一些跨域问题(很多MVC内容以各种方式嵌入到SharePoint中)。所以的SharePoint将在http://site和我在http://site/mvc
应用我会继续他们在不同的网站(MVC和SharePoint即是)。您可以完全为您的MVC应用程序创建一个新网站,然后通过IIS,右键单击您的MVC网站,编辑绑定,并将流量从您的MVC网站重定向到您想要的网址。
我建立了几个WebForms应用程序,运行方式与您说的非常相似:使用自己的web.config等单独的虚拟应用程序,我必须调整web.config以使其工作,但是。我的应用使用诸如会话状态和视图状态之类的东西,但我认为这些不适用于您的MVC应用。当我看着我的web.confing,我认为这部分可能适用于你想要做的事情:
<location>
<system.web>
<xhtmlConformance mode="Legacy" />
<trust level="Full" />
<httpModules>
<remove name="PublishingHttpModule" />
</httpModules>
</system.web>
</location>
希望有所帮助。我也有一个<authorization>
部分,但没有必要让应用程序工作。
试过了,该应用程序仍在工作,但CSS/JS和图像等仍未被提供。我认为这是特定于MVC应用程序在虚拟应用程序下的共享点.... 如果我进入IIS并删除处理程序映射为“AboMapperCustom-91701”的东西,则内容通过正确。不能在web.config中删除,因为每个机器上的名称都不同。 – 2009-11-25 17:52:13
请问您的虚拟目录有自己的web.config文件?如果不是,那么它将获取父Web应用程序(共享点)配置 – Ryan 2009-11-23 12:05:30
他提到他不需要/希望与SharePoint集成,因此可能不需要他共享web.config文件。有了每个应用程序的一个配置,它应该很好。 – 2009-11-23 16:02:09
是的,它有它自己的web.config文件 - 但是当在一个SharePoint站点上使用虚拟目录时,许多处理程序映射仍然会被推送到子站点(注意:这是一个虚拟目录,被配置为单独的应用程序不只是一个虚拟目录)。 虽然我不想或不需要SharePoint集成,但我需要我的MVC应用程序来自同一个域和端口,以克服一些跨域问题(许多MVC内容以各种方式嵌入到SharePoint中)。因此,共享点将在http:// site /和我的应用程序在http:// site/mvc/ – 2009-11-23 17:27:44