ASP.NET-MVC如何提供静态内容?

时间:2015-06-03 08:24:14

标签: asp.net-mvc

我最想拥有一个静态网站,但我制作了它并且ASP.NET-MVC应用程序提供了一个简单的http post请求来保存数据库中的东西。有时将来可能会有一个View实现,但目前还没有。 我发现的是一些奇怪的行为,我无法解释为什么?

网站结构是:

Root/
    index.html
    test.html
    img/
        image.png
        test.html

服务器是IIS 8.9托管。

我的路线配置和控制器是:

public static void RegisterRoutes(RouteCollection routes)
{
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
             name: "ApiPostData",
             url: "api/{action}",
             defaults: new { controller = "Api" }
        );
}

public class ApiController : Controller
{

    [HttpPost]
    public JsonResult PostSomeData(SomeData someData)
    {
            // save to database
            return Json(true);
    }
}

但他的表现完全错误且不可预测: 在示例中:

www.mysite.com - >显示index.html确定

www.mysite.com/index.html - >错误500

www.mysite.com/img/image.png - >图像是shwon,这是好的

www.mysite.com/img/test.html - >错误500

www.mysite.com/api/postsomedata - >按原样调用控制器方法

这完全是不合逻辑的。为什么服务器区分静态上下文。 我需要解释此行为以及强制IIS提供静态内容的方法。

0 个答案:

没有答案