ASP.NET MVC and IIS 5

前端 未结 5 1531
别那么骄傲
别那么骄傲 2020-11-29 06:47

What is the best way to get hosting of an ASP.NET MVC application to work on IIS 5 (6 or 7). When I tried to publish my ASP.NET MVC application, all I seemed to get is 404 e

5条回答
  •  借酒劲吻你
    2020-11-29 07:18

    I think either way you'll have to do Solution 1.

    Consider the HTTP Request pipeline.

    1. A request comes into IIS.
    2. IIS checks port/host header to see if it has a web site set up to capture requests for that host header/port.
    3. IIS investigates the file extension of the request (.php, .asp, .aspx) and hands it off to an ISAPI that can handle that type of request.

    Only at this point does ASP.NET (or a PHP runtime) kick in. If IIS does't have that mapping then it'll never hand off the request to the ASP.NET runtime and the request will never reach your code. That's why you need that glob (*) mapping to the ASP.NET ISAPI.

    ASP.NET MVC framework urls often end with no file extension at all. If you want these requests to get handled by ASP.NET (or some other runtime) you have to map all requests regardless of the file extension to that ISAPI (ie. aspnet_isapi.dll).

    This is often also done for HttpHandlers that need to serve off media like .jpg, .gif. For the handler to be hit it needs to get mapped to your code even though .jpg isn't a "normal" ASP.NET file extension.

    HTH,
    Tyler

提交回复
热议问题