将站点上载到IIS,找不到控制器资源(错误500)。使用iisexpress在本地工作

时间:2015-10-30 09:24:25

标签: c# ajax asp.net-mvc iis iis-8

进行了大量测试,并最终使用iisexpress在Visual Studio中完成所有工作。我已经通过web package.zip将它部署到IIS中,现在我的功能已停止工作。有什么想法吗?事件查看器没有报告任何内容。

我点击按钮调用ajax - GET看起来好像已经正确配方但找不到东西 - 我猜是'GetData'方法。在部署之前,是否需要更改项目中的URL.Action? (尝试使用和不使用内容类型,因此注释标记)

Ajax调用

<script>
$("#button").click(function (event) {

    event.preventDefault();

    var uquery = $('#HospitalID').val();
    var url = '@Url.Action("GetData", "oncologyPatients")';
    //alert(uquery); //ENABLE FOR ERROR CHECKING OF VARIABLE
    var data = { value: uquery }
    $.ajax(
    {
        url: url,
        data: data,
        type: 'GET',
        //contentType: "application/json; charset=utf-8",

        success: function (data)
        {
            $('#HospitalID').val(data.HID);
            $('#NHS_No_').val(data.NHS);
            $('#Forename').val(data.Fname);
            $('#Surname').val(data.Sname);
            $('#DOB').val(data.DOB);
        },

        error: function (xhr, status, error)
        {
            alert(status);
            alert(error);
            var err = xhr.responseText;
            alert(err);

        }
    });
});

单击按钮并在本地找到控制器中的“GetData”并正常工作。但是,它在IIS 8.5 / Server 2012 R2上运行时会抛出非常一般的错误,我必须进入开发人员。 Chrome的工具可以获得有意义的东西:

Failed to load resource: the server responded with a status of 500 (Internal Server Error)
http://siteuat.local.com/oncologyPatients/GetData?value=11111111 

任何想法,我都倾向于绝对URL,但看起来路线是正确的。

所有其他功能都很好 - 基本上这只是一个有问题的电话。

1 个答案:

答案 0 :(得分:3)

发布后几分钟想出来 - grrr。它在本地工作,因为我的用户帐户有权对数据库进行TrustedConnection(我不需要)。

我的sqlConnection看起来像这样:

SqlConnection DWLKup = new SqlConnection("user id=user;" +
                       "password= password;server=Server\\Instance;" +
                       "Trusted_Connection=yes;" +
                       "database=db1; ");

我删除了

"Trusted_Connection=yes;" +

现在一切正常:)