【问题标题】:Run an ASP.NET website in a subfolder在子文件夹中运行 ASP.NET 网站
【发布时间】:2010-12-03 17:10:17
【问题描述】:

有没有办法在网站的子文件夹中运行 ASP.NET 网站?

例如,假设我想在我的网站上名为“wiki”的文件夹中运行螺旋转 wiki (http://www.screwturn.eu/),我可以更改螺旋转网站的 web.config 以告诉它它正在运行“维基”文件夹? (就像说 "~/" = "/wiki/")

然后,wiki 会在“/wiki/bin”中的“~/bin”中找到其程序集,并且对于新根目录下的所有其他文件夹也是如此。

【问题讨论】:

  • 我最终为 wiki 创建了一个新的子域,因此该站点将成为一个根网站。

标签: asp.net configuration web-config screwturn


【解决方案1】:

小菜一碟,您可以在 IIS 网站的根目录中添加一个虚拟目录并将其指向您网站的路径,或者将其放置在网站根目录中的一个物理目录中,然后将其变成一个应用程序 -在 IIS 管理控制台中单击它,转到属性并单击应用程序名称旁边的“创建”。

【讨论】:

  • 虽然我没提过,但是我对web服务器没有控制权。但这是最接近我采用的解决方案,即创建子域 (wiki.mydomainname.org)。我会将此标记为答案,因为如果我可以访问 ISP 框上的 IIS,您的建议是正确的。
  • 我对此感到厌烦,但现在 IIS 抱怨无法找到登录页面的类后面的代码。子站点是否继承与父站点相同的 dll?因为子站点的登录页面类被编译到主站点dll中,因为它在VS中都是同一个项目。
  • 文件夹中需要一个完整的、独立的应用程序,否则它将寻找一个不存在的 bin 目录。
  • 如果有人无权访问 IIS 设置怎么办?我无权访问根应用程序的 web.config。有没有办法在子目录中制作 web 应用程序
【解决方案2】:

您需要在根 web.config 文件中停止配置继承,以便 wiki web.config 不会从根 web.config 读取任何内容。

【讨论】:

【解决方案3】:

正如其他人指出的那样。基本上你需要把它放在你的子应用Web.config中,当然你还需要配置域(子域等),IIS设置也是如此。

<configuration>    
  <location path="." inheritInChildApplications="false">

    //your code here

    <system.web>
      //your code here
    </system.web>

    //your code here

  </location>     
</configuration>

【讨论】:

  • 如果您的 web.config 中有 &lt;configSection&gt;'s,那么它们应该在 &lt;location&gt; 标记之外。
【解决方案4】:

我最近不得不这样做,并且将 wiki 文件夹设为应用程序(如前面的答案中所建议的那样),我还必须在 Wiki 应用程序的顶层放置一个虚拟的“App_Themes -> Default”文件夹,因为父应用的 Web.config 中是否存在 &lt;pages styleSheetTheme="default" theme="default"&gt; 标记。小技巧,但这是我喜欢在 Asp.Net 中配置样式的方式,我不想改变它。

【讨论】:

    【解决方案5】:

    简短的回答是可以。无需在 Web.Config 中指定文件夹的位置。

    【讨论】:

    • 我假设您在 wiki 文件夹中有一个 web.config。 “/wiki/bin”由运行时自动定位。
    • 但页面加载失败,声称“文件'/MasterPage.master'不存在。”。 aspx 页面指令具有 MasterPageFile="~/MasterPage.master"。问题是我如何将其设置为“/wiki/MasterPage.master”而不是“/MasterPage.master”。
    • “wiki”文件夹是否配置为 IIS 中的应用程序?
    • 不,它只是在运行它自己的网站的主应用程序文件夹下的一个文件夹。
    • “wiki”会成为一个独立的应用程序吗?如果是这样,请将文件夹设置为应用程序。这会将文件夹与父文件夹隔离。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多