DotNetFellow Ответов: 1

Вставка веб-api не удалась, но код выглядит нормально. Что может быть не так?


привет
Извините, что я опубликовал это в обсуждении, которое, по-моему, не то место, и я перепечатываю здесь.

Я не знаю, где происходит что-то не так, но я, кажется, не в состоянии вставить данные с помощью веб-api. Любая помощь очень ценится и большое спасибо

Данные
{"ID":1,"EmailAddress":"demo@demo.com"}


и код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using Dapper;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;

namespace cirqer.Controllers.api
{

    public class EmailListList
    { 
        public int ID { get; set; }
        public string EmailAddress { get; set; }
    }

    public class emaillistController : ApiController
    {
        static string connectionstring = ConfigurationManager.ConnectionStrings["CRConnectionString"].ConnectionString;

        [HttpGet]
        public Int16 EmailList_SelectCount()
        {
            try
            {
                using (var conn = new SqlConnection(connectionstring))
                {
                    Int16 x = conn.ExecuteScalar("EmailList_SelectCount", commandType: CommandType.StoredProcedure);
                    return x;
                }
            }
            catch
            {
                return 0;
            }
        }

        [HttpPost]
        public void EmailList_Insert(EmailListList email)
        {
            try
            {
                // dynamic data = email; 
                using (var conn = new SqlConnection(connectionstring))
                {
                    conn.Open();
                    conn.Execute("EmailList_Insert", email, commandType: CommandType.StoredProcedure);
                    conn.Close();
                }
            }
            catch
            {
            }
        }


Что я уже пробовал:

Использование telerik fiddler для имитации вставки, но не удалось.

1 Ответов

Рейтинг:
1

Dave Kreskowiak

Удалите блоки try/catch. Ваш код, вероятно, выбрасывает исключения,но поскольку у вас есть все в блоках try/catch, а в разделах catch нет никакого кода для регистрации исключений в любом месте, исключения просто проглатываются.