部署在 IIS 服务器上时,WebApi 端点未被命中,在本地主机上运行良好

WebApi endpoint not getting hit when deployed on IIS server, working fine in local host

Web API 将解决方案部署到 IIS 服务器时,端点未受到攻击

工作端点: https://localhost:44335/Api/Course/GetStudents

端点不工作 http://192.168.1.3:9090/Api/Course/GetStudents

Ajax代码

 function GetStudents(IsEdit) {
    $.ajax({
        url: "/Api/Course/GetStudents",
        type: "GET",
        dataType: 'json',
        success: function (data) {
            $.each(data, function (i, obj) {
                $('#ddlStudent').append($('<option>').text(obj.Student_Name).attr('value', obj.Student_Id));
            });

            if (IsEdit === true) {
                $('#ddlStudent').val(SelectedSupplier).select2();
            }
            else {
                GetCourses(false);
            }
        }

    });
}

Web Api 控制器

        [HttpGet]
        [Route("GetStudents")]
        public string GetStudents()
        {
            string JsonString = String.Empty;

            DBPROC dBPROC = new DBPROC(configuration);

            DataTable Dt = dBPROC.GetDataTable("SP_GetStudents");
            if (Dt.Rows.Count > 0)
            {
                JsonString = JsonConvert.SerializeObject(Dt);
            }

            return JsonString;

        }
 

您可以尝试将代码包装在 try/catch 块中,然后 return 将错误作为字符串。

    [HttpGet]
    [Route("GetStudents")]
    public string GetStudents()
    {
        string JsonString = String.Empty;

        try {

        DBPROC dBPROC = new DBPROC(configuration);

        DataTable Dt = dBPROC.GetDataTable("SP_GetStudents");
        if (Dt.Rows.Count > 0)
        {
            JsonString = JsonConvert.SerializeObject(Dt);
        }
        }
        catch (Exception exception) {
          JsonString = $"Exception {exception.Message} and Stack: {exception.StackTrace}";
        }

        return JsonString;

    }