【问题标题】:How to publish an ASP.NET MVC 4 project in a specific url如何在特定 url 中发布 ASP.NET MVC 4 项目
【发布时间】:2014-09-28 18:23:59
【问题描述】:

我处于一种我不知道该怎么做的情况,我不知道是否可以这样做。

我有一个 ASP.NET MVC 的网站,我们叫 kelvinsite.com.br,这个网站是一个 asp.net mvc 项目。

我还有另一个站点,我们称之为 kelvinproject.com.br,这个站点是另一个项目 aspnet mvc。

我想要做的是在项目 kelvinsite.com.br 中发布网站 kelvinproject.com.br 而不在 Visual Studio 中合并同一个项目中的 Web 项目,我希望两者在同一个解决方案中保持独立。

所以网址是:

http://kelvinsite.com.br/kelvinproject

有可能吗?它叫什么名字?

【问题讨论】:

    标签: c# asp.net asp.net-mvc asp.net-mvc-4 web


    【解决方案1】:

    这是可能的,但根据您定义 URL 的方式,可能存在一些潜在的缺陷。您正在寻找的术语是“子站点”,它通常需要在 IIS 中进行一些工作。您可以使用 ASP.NET MVC 区域执行类似的操作,但在这种情况下您并没有真正将应用程序单独打包。

    这里有一个关于子网站的很好的讨论:Sub-Website in IIS - ASP.NET

    基本上,您将应用部署到 IIS 上父应用的子文件夹。配置会被执行,这意味着您可能必须更改子节点上的 web.config 以删除父条目等,具体取决于每个条目的 .NET 版本等。

    【讨论】:

    • 这就是我想要的。非常感谢!我正在使用 Windows azure 网站,他们有一个很好的方法,我在你的回答和MSDN answer 之后学习。谢谢!!!
    【解决方案2】:

    您应该能够完全独立地发布每个网站。在服务器上只有两件重要的事情需要记住。 1) 确保目录 kelvinproject 在 IIS 中被标记为应用程序。 2) 您可能需要调整主应用程序中的 web.config,使其设置不会被任何子应用程序继承。您可以使用 web.config 的元素轻松完成此操作。有一个很好的例子:Scott Hansleman's blog,它非常简单。只需将 和 之类的东西放在这个位置,它就不会在新应用程序中被继承。

    不要将它们视为特定网站。每个都是一个单独的 Web 应用程序,从技术上讲,它们彼此不了解,也不关心对方。您可以在同一个解决方案中拥有 50 个项目,而其他项目的发布位置对它们中的任何一个都没有影响。

    【讨论】:

    • 感谢您的回复,但我已经使用 Windows azure 网站的虚拟目录了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-23
    • 2022-10-25
    相关资源
    最近更新 更多