1

我的站点上有一个控制器,它处理未知操作并返回一个视图(如果存在)。这样就可以将静态内容添加到站点的这个特定区域,而无需修改控制器。我现在面临的问题是创建一个包含指向所有这些“未知”视图的链接的 sitemap.xml 文件。从生成站点地图的方法中枚举这些静态内容视图的最佳方法是什么?

下面的代码显示了我正在为未知操作做什么:

protected override void HandleUnknownAction(string actionName)
{
    GetUnknownActionResult(actionName).ExecuteResult(ControllerContext);
}

[NonAction] //public so it is testable
public ActionResult GetUnknownActionResult(string actionName)
{
    var result = View(actionName);

    if (result.ViewEngineCollection.Any(engine => engine.FindView(ControllerContext, result.ViewName, null, true).View != null))
    {
        return result;
    }

    return new HttpNotFoundResult();
}
4

1 回答 1

1

如果您正在从“静态内容”目录提供静态内容,例如 .htm 文件和 .pdf 文件,我将使用System.File.IO这些文件来枚举这些文件,并从中构建您的链接。

于 2010-02-03T20:30:23.083 回答