ASP.. NET语法和约定
本文关键字:约定 语法 NET ASP | 更新日期: 2023-09-27 18:09:05
我正在阅读使用ASP.NET设计可进化的Web api。在其中一个练习中,这本书让我使用Visual Studio编辑控制器。这是在ASP中完成的。. NET使用c#。我使用的模板是标准的ASP。. NET web应用程序API。
我已经编辑了控制器的方式书显示(虽然它似乎没有给出非常具体的方向)。这是我的控制器的样子。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Security.Claims;
using System.Security.Cryptography;
using System.Threading.Tasks;
using System.Web;
using System.Web.Http;
using System.Web.Http.ModelBinding;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
using Microsoft.AspNet.Identity.Owin;
using Microsoft.Owin.Security;
using Microsoft.Owin.Security.Cookies;
using Microsoft.Owin.Security.OAuth;
using WebApplication4.Models;
using WebApplication4.Providers;
using WebApplication4.Results;
namespace WebApplication4.Controllers
{
public class GreetingController : ApiController
{
public string GetGreeting() {
return "Hello World!";
}
}
public static List<Greeting> _greetings = new List<Greeting>();
public HttpResponseMessage PostGreeting(Greeting greeting)
{
_greetings.Add(greeting);
var greetingLocation = new Uri(this.Request.RequestUri, "greeting/" + greeting.Name);
var response = this.Request.CreateResponse(HttpStatusCodeResult.Created);
response.Headers.Location = greetingLocation;
return response;
}
}
我得到错误:
- _greetings:命名空间不能直接包含字段或方法等成员
- PostGreeting:命名空间不能直接包含成员,如字段或方法,
- _greetings:在当前上下文中不存在
- 请求:
<
invalid-global-code>
不包含' Request '的定义, - 创建:HttpStatusCodeREsult不包含"创建"的定义
正如错误试图告诉您的那样,您的字段和方法必须在类中。
检查大括号
您的_greetings字段需要成为类的一部分,以及PostGreeting方法,似乎您刚刚关闭了类的"}"有点早。将_greetings字段前的"}"移到文件末尾,如:
namespace WebApplication4.Controllers
{
public class GreetingController : ApiController
{
public string GetGreeting() {
return "Hello World!";
}
public static List<Greeting> _greetings = new List<Greeting>();
public HttpResponseMessage PostGreeting(Greeting greeting)
{
_greetings.Add(greeting);
var greetingLocation = new Uri(this.Request.RequestUri, "greeting/" + greeting.Name);
var response = this.Request.CreateResponse(HttpStatusCodeResult.Created);
response.Headers.Location = greetingLocation;
return response;
}
}
}