通过C#MVC API执行查询

时间:2017-07-31 14:11:41

标签: c# .net sql-server api model-view-controller

我遇到了一些代码问题,而我似乎无法解决这个问题。我试图将一些数据发送到连接到我们的SQL Server的后端API,并执行一个我不期望任何结果的查询。我遇到的问题是SQL命令没有被发送到服务器,我得到一个“404 - 这个文件不存在”。

以下是请求的前部:

public async Task ExportNewLists (string pid, string list)
    {
        var endpointUrl = string.Concat(baseEndpoint, "ExportLists", "/", pid, "/", list);
        AddAuthorization();
        using (HttpResponseMessage response = await client.GetAsync(endpointUrl))
        {
            if (!response.IsSuccessStatusCode)
            {
                Response.StatusCode = (int)response.StatusCode;
                var result = response.Content.ReadAsStringAsync().Result;
                var message = JsonConvert.DeserializeObject<ResponseError>(result);
            }
        }
    }

这是我试图调用的API函数:

    [Route("api/Lists/ExportLists/{pid}/{list}")]
    [HttpGet]
    [ResponseType(typeof(void))]
    private async Task<IHttpActionResult> ExportList(string pid, string list)
    {
        using (var connection = db.Database.Connection)
        {
            try
            {
                connection.Open();
                var command = connection.CreateCommand();
                command.Connection = connection;
                command.CommandText = "EXEC LIST_EXPORT_SINGLE";
                command.CommandType = CommandType.StoredProcedure;
                command.Parameters.Add("@PID");
                command.Parameters["@PID"].Value = pid;
                command.Parameters.Add("@LIST");
                command.Parameters["@LIST"].Value = list;
                await command.ExecuteNonQueryAsync();
                connection.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
        return Ok();
    }

1 个答案:

答案 0 :(得分:3)

您已将ExportScrubList标记为私有。您无法通过http。

调用标记为私人的操作