我制作了自己的网络API,现在我正努力让它发挥作用。
这是App_Start > WebApiConfig.cs
:
public static void Register(HttpConfiguration config)
{
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}"
);
}
这是我的控制者:
public class messagesController : ApiController
{
public string GetMessages()
{
return MessagesService.Get();
}
}
我已经尝试了return MessagesService.Get();
行的调试工作,但它甚至没有走到那么远......
我有一种感觉,我错过了一些引用,因为我用空模板制作了所有这些类。
答案 0 :(得分:1)
您的解决方案应类似于:
Project
Project > web.config
Project > Global.asax.cs
Project > App_Start > WebApiConfig.cs
Project > Controllers > MessagesController.cs
有关Global.asax.cs应该是什么样子的更多信息,请参阅:this link
此外,由于您的Controller Action已经定义为GET类型,您可以将Messages作为方法名而不是GetMessages()
在Visual Studio中创建新的Web项目并选择Web API作为项目类型也可能对您有所帮助。这可以帮助您了解Web API项目的基本结构。
修改强>
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
}
}
以下是Web API的Global.asax文件示例。
添加新文件:
在Visual Studio 2013中
Open Solution Explorer.
Right-click on the project.
Add New Item.
VB or C#
Web.
General.
Global Application Class.