从服务器应用程序 (REST) 返回 HttpWebResponse

Returning a HttpWebResponse from a Server Application (REST)

我想设置控制器 return 编辑的 HttpWebResponse 的值,但我无法创建 HttpWebResponse 对象。

现在我只想设置状态代码,但也许我很快也会需要 HttpWebResponseclass 的其他部分。我现在所能做的就是 return 将字符串作为状态,这显然是错误的,因为 Get 方法已经 return 其他数据。

这是我的控制器(只是一个测试应用程序,用于了解 REST 服务器和客户端的实现方式以及它们之间的通信方式):

public class TeamsController : ApiController
{
    public static List<Team> teams = new List<Team>() 
    {
        new Team  { Kuerzel = "BVB09",Name="Borrusia Dortmund", Stadt="Dortmund"},
        new Team  { Kuerzel = "RWE",Name="Rot Weiss Essen", Stadt="Essen"}
    };

    public IEnumerable<Team> GetAllTeams()
    {
        Console.WriteLine("All teams returned");
        return teams;
    }

    public Team GetTeamById(int id)
    {
        if (id < teams.Count)
        {
            Console.WriteLine("Team with ID=" + id + " returned");
            return teams[id];
        }
        else
            return null;
    }

    public string PostNewTeam(Team team)
    {
        teams.Add(team);
        Console.WriteLine("Post Team: " + team.ToString());
        return "Success";
    }

}

使用 using System.Net.Http; 并在 PostNewItem() 方法中添加 return Request.CreateResponse(HttpStatusCode.OK, "success"); return; Return Post() 方法的类型应该是 HttpResponseMessage

你可以试试这个:

public IHttpActionResult PostNewTeam(Team team)
{
    teams.Add(team);
    // Console.WriteLine("Post Team: " + team.ToString());
    return this.StatusCode(HttpStatusCode.Created);
}