部署在 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;
}
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;
}