如何正确配置此IIS 7.5子应用程序?

时间:2011-06-17 03:19:03

标签: c# iis-7 configuration blogengine.net

我的网站根文件夹中有一个父应用程序。它是一个.NET 4.0应用程序,应用程序池显然设置为4.0。

我想在以下位置配置子应用程序:

/博客

这是一个.NET 2.0应用程序(它是BlogEngine.NET)。我创建了一个名为“blog”的新虚拟目录,将其指向适当的目录,将其转换为应用程序并将其放入自己的应用程序池中,并将其设置为.NET Framework 2.0。

我编辑了父web.config并添加了:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
      <configSections>
         <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    </configSections>
  ....entire web.config basically...
  </location>
</configuration>

元素之后。但是,当我转到http://localhost/blog时,我收到以下错误:

无法读取配置部分'configSections',因为它缺少部分声明

任何人都有任何想法在这里发生了什么或者我可能缺少什么?

2 个答案:

答案 0 :(得分:2)

不幸的是,这是IIS处理虚拟目录的方式的缺点。您的父应用程序的web.config仍然被读取,即使它不在子应用程序中。在尝试了几天的挫折,SO问题和论坛帖子之前和之后,我尝试将4.0应用程序作为3.5应用程序的子项嵌套,我终于得出结论认为它比它的价值更麻烦。

答案 1 :(得分:0)

为什么不直接将BlogEngine升级到Asp.net 4.0?

下载BE 2.0 Web版本在Visual Studio中打开它会询问“你想要4.0吗?”说是,然后它针对你的web.config。

然后,您只需将新的web.config上传到您的服务器即可。

如果您有旧的BE版本,那么您可能希望将其升级到上一个稳定版本。