3

我正在使用 Visual Studio 的内置 Web 服务器来测试和 EPiServer 应用程序。当我在 IIS 中运行应用程序时,如果我点击虚拟目录的根目录,EPiServer 将接管并将默认页面提供给我。使用 Visual Studion 服务器(出于 SDK 许可的原因,我正在这样做),它总是为我提供我网站的“目录列表”视图。有谁知道如何配置此 Web 服务器以不允许目录列表/浏览?

附加信息: 这个问题似乎只影响 Visual Studion Web 服务器的根(我从这里开始称它为 cassini)。例如,如果我从 localhost:6666 运行一个站点,那么我会发现 localhost:6666/en/ 可以正常工作,并且 EPiServer VPP 会知道它在做什么。如果我使用 localhost:6666/,那么 VPP 永远不会启动(或者它接缝)。在我看来,当 cassini 的根被击中时,它会检查页面是否存在(它不存在,因为我没有默认值)。如果它确定该页面不存在,那么它会提供目录列表,而不是 404。对我来说,首先要做的是禁用 cassini 中的目录浏览,然后看看为什么 VPP 没有正确操作。

所以我想问题的基础是:当 Visual Studio 开始一切时,有没有办法在 Cassini 中修改这些设置?

(EPiServer 可能是一个红鲱鱼,但以防万一,它是 CMS 版本 5)

进一步更新 我设法获得了 Cassini 3.5 的源代码并试了一下。3.5 工作得很好,在这种情况下表现得像 IIS。即缺少默认文档不会导致目录列表,而是如果允许 HTTP 处理程序启动,然后 EPiServer 会完成其余的工作!所以问题是,我可以在 Web 服务器上的 Visual Studios 工作中实现同样的效果吗?

4

4 回答 4

3

确保您有一个 ~/Default.aspx 文件。它不会呈现,但在 cassini 中需要虚拟路径提供程序有机会处理对“/”的请求。当然,如果你还是做了,你不妨将它用于起始页:-)

于 2009-07-29T04:01:47.930 回答
0

即使你可以让服务器不显示目录列表,你能让 EPiServer 接管吗?


编辑:来自评论 它与 /en/ 一起使用的事实让我认为这是微软可以解决的问题。我建议您询问供应商是否有解决方法。如果他们不这样做,请在http://connect.microsoft.com/visualstudio/上提出建议。请务必指定有关 EPIServer 的详细信息、供应商的 URL 等。

请清楚它与 /en 一起使用,但您需要一个允许它在根目录下工作的设置。

创建建议后,请编辑您的问题以包含指向您创建的建议的链接。这样,阅读您的问题的其他人可以投票决定他们认为这有多重要。

于 2009-06-24T15:47:19.093 回答
0

EpiServer 部分让我感到困惑。但是,如果您询问如何设置 VS 开发服务器的默认页面(基于 Cassini 代码),您应该在项目属性(右键单击 web 项目)、Web、开始操作、特定页,foo.aspx。

我怀疑 cassini/VS 开发服务器没有默认页面功能——cassini 服务器(VS 开发服务器的祖先)的源代码在网络上,您可以检查它并通过构建添加默认页面自定义版本。而且它没有很长的 IIS 具有的其他功能列表。

于 2009-06-24T16:36:41.803 回答
0

您正在运行哪个 EPiServer 版本?你是用 EPiServer Manager 安装的吗?

在主机名的根目录或作为(虚拟)目录运行站点之间的配置总是存在一些差异。

检查 web.config 中的站点设置块,并确保您在项目根目录中有一个 default.aspx。

于 2009-06-24T18:20:11.033 回答