Asp.net mvc 4 .NETMVC4中的简单GET请求

Asp.net mvc 4 .NETMVC4中的简单GET请求,asp.net-mvc-4,Asp.net Mvc 4,我正试图向我的服务器发出GET请求,以获取给出2个参数的消息。我发送此GET请求: http://localhost:62020/api/Chat/GetRecentMessages?RoomId=1&LastMsgId=0 我的控制器应该处理它: [HttpGet] private List<ChatMessage> GetRecentMessages(int RoomId, int LastMsgId) {

我正试图向我的服务器发出GET请求,以获取给出2个参数的消息。我发送此GET请求:

http://localhost:62020/api/Chat/GetRecentMessages?RoomId=1&LastMsgId=0 
我的控制器应该处理它:

[HttpGet]
        private List<ChatMessage> GetRecentMessages(int RoomId, int LastMsgId)
        {


            int count = 0;
            int timeout = 30;
            int timeoutCount = 0;
            List<ChatMessage> messages = new List<ChatMessage>();

            //go until we get a result or we time out
            while (count == 0 && timeout >= timeoutCount)
            {
                var result = Db.ChatMessages.Where(r => r.RoomId == vm.RoomId).Where(r => r.Id > vm.LastMsgId); // Get all messages from Room that are more recent than last message
               count = result.Count();

                if (count == 0)
                {
                    Thread.Sleep(1000);
                    timeoutCount++;
                }
                else
                {
                   messages = result.ToList();
                }
            }

            return messages;
        }
[HttpGet]
私有列表GetRecentMessages(int RoomId、int LastMsgId)
{
整数计数=0;
int超时=30;
int timeoutCount=0;
列表消息=新列表();
//直到我们得到结果,否则我们就暂停
而(计数==0&&timeout>=超时计数)
{
var result=Db.ChatMessages.Where(r=>r.RoomId==vm.RoomId).Where(r=>r.Id>vm.LastMsgId);//从文件室获取比上一条消息更新的所有消息
count=result.count();
如果(计数=0)
{
睡眠(1000);
timeoutCount++;
}
其他的
{
messages=result.ToList();
}
}
返回消息;
}

但我一直收到一个404错误,说它找不到这条路线。为了获得这两个值,我需要在控制器端执行什么操作?

如何公开操作?您不能直接调用私人操作。

将操作公开怎么样?您不能直接调用私人操作。

您的路由是如何定义的?这是一个API控制器还是一个普通的MVC控制器?它是一个API控制器您的路由是如何定义的?这是一个API控制器还是一个普通的MVC控制器?这是一个API控制器哦,哇,我甚至没有意识到这是私有的。谢谢,我现在就去试试哦,哇,我甚至都没意识到那是私人的。谢谢,我现在就试试