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不包含"创建"的定义

ASP.. NET语法和约定

正如错误试图告诉您的那样,您的字段和方法必须在类中
检查大括号

您的_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;
    }
}  
}