В .NET Core 2 ваш контроллер будет иметь что-то вроде -

далWEB API с помощьюMySQL База данных. API работает так, как и ожидалось. Я отправил серийный номер счетчика и параметр даты и времени, а затем ПОЛУЧИЛ ожидаемый результат. Ниже мой контроллер

public MDCEntities medEntitites = new MDCEntities();
public HttpResponseMessage GetByMsn(string msn, DateTime dt)
    {          
        try
        {
            var before = dt.AddMinutes(-5);
            var after = dt.AddMinutes(5);

            var result = medEntitites.tj_xhqd
                         .Where(m =>
                         m.zdjh == msn &&
                         m.sjsj >= before &&
                         m.sjsj <= after).Select(m => new { MSN = m.zdjh, DateTime = m.sjsj, Signal_Strength = m.xhqd }).Distinct();


            return Request.CreateResponse(HttpStatusCode.Found, result);
        }
        catch (Exception ex)
        {
            return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex);
        }
    }

Ниже мойWebApiConfig файл

config.Routes.MapHttpRoute(
       name: "GetByMsn",
       routeTemplate: "api/{controller}/{action}/{msn}/{dt}",
       defaults: null,
       constraints: new { msn = @"^[0-9]+$" , dt = @"^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$" }
       );

URL являетсяhttp://localhost:14909/api/meters/GetByMsn/002999000171/2017-10-10T10:08:20

Я получаю ответ

[{
    "MSN": "002999000171",
    "DateTime": "2017-10-10T10:04:39",
    "Signal_Strength": "20"
},
{
    "MSN": "002999000171",
    "DateTime": "2017-10-10T10:06:35",
    "Signal_Strength": "19"
},
{
    "MSN": "002999000171",
    "DateTime": "2017-10-10T10:08:31",
    "Signal_Strength": "20"
},
{
    "MSN": "002999000171",
    "DateTime": "2017-10-10T10:10:27",
    "Signal_Strength": "20"
},
{
    "MSN": "002999000171",
    "DateTime": "2017-10-10T10:12:23",
    "Signal_Strength": "20"
}]

Это все сценарий работает, когдаsingle serial number передается. Но на стороне клиента может быть несколько разных серийных номеров. Для этого мне пришлось заставить свой метод работать как для одного, так и для нескольких серийных номеров, при условии, что время даты будет одинаковым для всех.

One solution is to create a new method a pass the multiple serial number strings, but this will not help because the number of serial numbers are dynamic i.e. they may be one, two to 100's. So setting a hard coded method won't be a solution. 

Я искал его, но в большинстве случаев я снова и снова находил статический метод. Но эторешение выглядит кое-что полезное, но опять же я не знаю, будет ли это работать или нет.

Любая помощь будет высоко ценится.

Ответы на вопрос(1)

Ваш ответ на вопрос