web api私人聊天消息过滤器asp.net

时间:2017-01-14 11:47:56

标签: asp.net asp.net-web-api controller asp.net-mvc-routing

我想在2个用户之间创建消息过滤器。过滤器的意思是这两个用户只能看到他们的消息而不是其他用户才能说清楚。

我有GET方法在我的控制器中获取这样的消息,我在params中指定了谁以及谁是这些消息。问题是我不知道如何将这两个参数传递给我的方法。

我知道从我的ChatHub(SignalR)调用这个方法,但这显然不是最好的主意所以必须有另一种方法来使它工作。

<?php

$data = [
    [
        'cdt' => '2016-01-01',
        'name' => 'Harish',
        'hour' => '10'
    ],
    [
        'cdt' => '2016-01-01',
        'name' => 'Preeti',
        'hour' => '8'
    ],
    [
        'cdt' => '2016-01-01',
        'name' => 'Sunit',
        'hour' => '9'
    ],
    [
        'cdt' => '2016-01-01',
        'name' => 'Prabhakar',
        'hour' => '8'
    ],
    [
        'cdt' => '2016-01-02',
        'name' => 'Prabhakar',
        'hour' => '2'
    ],
    [
        'cdt' => '2016-01-04',
        'name' => 'Preeti',
        'hour' => '8'
    ],
    [
        'cdt' => '2016-01-04',
        'name' => 'Sunit',
        'hour' => '9'
    ],
    [
        'cdt' => '2016-01-04',
        'name' => 'Harish',
        'hour' => '9.5'
    ],
    [
        'cdt' => '2016-01-04',
        'name' => 'Prabhakar',
        'hour' => '10'
    ],
    [
        'cdt' => '2016-01-05',
        'name' => 'Preeti',
        'hour' => '10'
    ],
    [
        'cdt' => '2016-01-05',
        'name' => 'Sunit',
        'hour' => '8'
    ],
    [
        'cdt' => '2016-01-05',
        'name' => 'Harish',
        'hour' => '9'
    ],
    [
        'cdt' => '2016-01-05',
        'name' => 'Prabhakar',
        'hour' => '9'
    ]
];

$catalog = [];
foreach ($data as $entry) {
    $catalog[$entry['cdt']][] = sprintf('%s: %s', $entry['name'], $entry['hour']);
}

foreach ($catalog as $cdt => $entries) {
    $output[] = sprintf('%s, %s', $cdt, implode(', ', $entries));
}

print_r($output);

0 个答案:

没有答案