相关疑难解决方法(0)

IIS 7.0/Windows Server 2008上的ASP.NET MVC 3应用程序出现404.0错误

我正在尝试将ASP.NET MVC 3应用程序部署到Windows 2008 x64服​​务器(显然运行IIS 7.0),并且IIS似乎不希望正确地提供内容.所有请求都导致404.0错误,因为请求与任何处理程序都不匹配,并且IIS正在尝试使用StaticFile处理程序来提供请求.这个问题似乎与.NET 4.0有关,因为我有一个MVC 2应用程序在为.NET 2.0运行时配置的应用程序池中运行得很好.

在Windows 7和Windows Server 2008 R2上将此相同的应用程序部署到IIS 7.5服务器时,我没有遇到任何问题.

在部署之前,2008服务器没有安装.NET 4.0或ASP.NET MVC 3,因此以下是我在部署应用程序之前执行的步骤:

  1. 安装了.NET 4.0
  2. 跑aspnet_regiis.exe(来自Framework64/v4.0.30319文件夹)
  3. 使用Web平台安装程序安装ASP.NET MVC 3
  4. 应用MS更新KB980368以使某些IIS 7.0或IIS 7.5处理程序能够处理其URL不以句点结尾的请求

对应用程序中的静态资源(JavaScript文件,图像等)的请求顺利通过,但对MVC操作的任何请求都会因404.0错误而失败.我注意到IIS正在使用StaticFile处理程序来处理这些请求,这显然是不正确的.据我所知,ASP.NET 4.0处理程序(即ExtensionlessUrl-ISAPI-4.0*处理程序)已正确定义,因此我不知道为什么/如何处理这些处理程序不会处理请求并且将落在所有处理程序中一直到StaticFile处理程序.

我还遇到了以下MS知识库文章,其中提到您应确保在遇到404错误的服务器上启用/安装HTTP重定向和静态内容压缩.我检查了,我的服务器已经启用了这两个功能.我甚至尝试删除并重新安装功能无济于事.

在这一点上,我完全没有想到为什么这不能正常工作.我能够在2个不同的IIS 7.0服务器上复制该问题.我错过了什么?

iis-7 .net-4.0 windows-server-2008 asp.net-4.0 asp.net-mvc-3

32
推荐指数
2
解决办法
3万
查看次数

JSON Post调用错误函数

我有这个jquery post调用,它以某种方式调用错误函数,即使它将数据完全输入到数据库中.

<script type="text/javascript">
    $(document).ready(function () {
        $("#ExtMailCreate").click(function () {
            var url = '@Url.Action("Create")';
            var data = JSON.stringify(SaveExternalMail());
            $.ajax({
                type: "POST",
                url: url,
                data: data,
                dataType: "json",
                contentType: "application/json; charset=utf-8",
                success: function (data) {
                    $("#result").append("pass");
                },
                error: function (data) {
                    $("#result").append("error");
                }
            });
        });
    });

    function SaveExternalMail() {
        var costcentrecode = $("#CostCentreCode").val();
        var day = $("#ExtMailDatePicker").val();
        var externalMailItemID = $("#ExternalMailItemID").val();
        var externalMailLocationID = $("#ExternalMailLocationID").val();
        var quantity = $("#Quantity").val();
        return {
            CostCentreCode: costcentrecode,
            Day: day,
            ExternalMailItemID: externalMailItemID,
            ExternalMailLocationID: externalMailLocationID,
            Quantity: quantity …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc jquery json

8
推荐指数
1
解决办法
1932
查看次数