【发布时间】:2014-07-28 18:44:21
【问题描述】:
大家下午好。这是我在这里的第一篇文章。我对在 .NET 中开发 Web 服务也有些陌生,尽管我已经开发网站和应用程序很长时间了。我刚开始一份新工作,这是我的第一个项目。
我正在尝试创建一个从 iPad 应用程序调用的 Web 服务。该服务应接受 JSON 对象,使用 JSON 中的参数查询数据库,然后根据结果返回 JSON 字符串。我遵循了本教程:http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api。以下是相关内容:
- 我使用的是 Visual Studio 2010 SP1
- 我们在这里使用 VB.NET(我询问了 C# 并遭到严厉拒绝)
- 我已安装并正在使用 MVC 4
- 服务器是远程的,运行 IIS 6
- 它运行的是 .NET 4.0 框架
- 我的项目位于正确的池中并配置为 .NET 4.0
- 我的项目有通配符脚本映射
- 在我的应用程序中,Application_Start 方法的顺序正确
- 我什至添加了 MVC“可部署的依赖项”,但我可能不需要它们
这是我对服务的 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”错误。在一周的大部分时间里,我一直在研究和试验,包括探索一些遗留格式。我认为这是我想做的最新和最好的选择。任何建议将不胜感激。谢谢。
【问题讨论】:
-
该服务可以在您自己的机器上运行吗?
-
直到现在我还没有尝试在本地运行它。当我选择在浏览器中查看时,我收到以下错误消息:“无法加载文件或程序集 'DotNetOpenAuth.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246' 或其依赖项之一。系统找不到指定的文件。”我找到了一些关于此的信息,谈论引用和程序集,但我对 .NET 和 VS 的了解还不够,无法进行适当的更正。我的项目目前由一个 HTML 页面组成,该页面对我的服务进行 AJAX 调用(加载时),它有一个方法 - 就是这样。
-
我做了更多的挖掘工作,我决定删除 Deployable Dependencies。它们似乎是上述错误的根源,我几乎可以肯定我不需要它们。结果,当我现在尝试在本地运行应用程序时,我的浏览器中显示“服务器太忙”错误。
-
我花了很多时间试图让我的应用程序在本地显示,直到我最终意识到问题是我的 IE 版本 (8),或者“在浏览器中查看”功能混乱向上。我在 Firefox 中本地查看了该站点,终于可以看到我的 HTML,但控制台出现 500 内部服务器错误。我将自定义元素添加到应用程序配置面板中的参考表中,但这并没有改变任何东西。如果有人有任何想法,请提供帮助。我开始失去希望了。
标签: asp.net-mvc vb.net asp.net-mvc-4 asp.net-web-api