我正在尝试创建一个从iPad应用程序调用的Web服务。该服务应接受JSON对象,使用JSON中的参数查询数据库,然后根据结果返回JSON字符串。我遵循了本教程:http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api。以下是相关因素等:
这是我对该服务的AJAX调用:
var uri = 'api/status';
$(document).ready(function () {
$.ajax({
type: "GET",
url: uri,
contentType: "application/json; charset=utf-8",
dataType: "json",
data: {},
success: function (result) {
console.log(result);
},
error: function (req, status, error) {
console.log("req = " + req + ", status = " + status + ", error = " + error);
}
});
});
这是我的控制器,名为StatusController:
Imports System.Collections.Generic
Imports System.Linq
Imports System.Net
Imports System.Web.Http
Namespace FadecStatus.Controllers
Public Class StatusController
Inherits ApiController
Private engines As FadecStatus.Models.Engine() = New FadecStatus.Models.Engine() {New FadecStatus.Models.Engine() With { _
.name = "PC-24-0001_2014-04-30_05-55.file", _
.size = "120KB", _
.uploadDate = "04/30/2014", _
.status = "Sent" _
}}
Public Function GetAllEngines() As IEnumerable(Of FadecStatus.Models.Engine)
Return engines
End Function
End Class
End Namespace
在所有这些之后,我仍然在尝试访问服务时遇到“404 Not Found”错误。我一直在研究这个并试验一周的大部分时间,包括探索一些遗留格式。我认为这是我想要做的最新和最好的选择。任何建议将非常感激。感谢。
答案 0 :(得分:0)
我终于明白了。涉及两个步骤:
首先,我无法在调试模式下运行我的应用程序。浏览器将打开然后几乎立即关闭"访问被拒绝"错误。我发现MVC项目在Views文件夹中创建了第二个web.config文件。根web.config文件具有以下部分以允许我复制到Views文件夹中的web.config文件的匿名访问:
<security>
<authentication>
<anonymousAuthentication userName="" />
</authentication>
</security>
我收到的服务器太忙了#34;此后出错,但在我的代码中插入断点允许本地调试半连续工作。
现在修复了本地调试,我的第二步是修复开发站点。此时,我能够确定问题是专门针对远程服务器上的.NET配置。我最初检查了这一点,但显然我做得不对。 This post解决了我的问题。谢谢不屈不挠!