我是Web开发和ASP.Net MVC-5项目的新手,我已经制作了一个接受get请求的Action。我想在控制台桌面应用程序上点击我的控制器的动作。以下是我的新手尝试。请指导我。
在我的控制器中,我添加了以下操作
public class SecurityController : BaseController
{
[HttpGet]
public ActionResult CacheClear(TestMV viewModel)
{
// SOME CODE
return View();
}
}
我的TestMV
public class TestMV
{
public int locationId { get; set; }
}
现在,当我进入浏览器并输入 http://localhost:5271/Security/CacheClear/?locationId=28463 时,我可以点击断点,我可以捕获该值。
问题1: 是吗?或者我需要为我的控制台应用程序做一些花哨的东西来实现这个Action方法。我是否需要创建一些Web API或其他东西。或者上面的代码可以正常工作吗?
问题2:如何通过桌面应用访问Controller操作。
我用Google搜索了下面的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
System.Net.Http.HttpClient client = new System.Net.Http.HttpClient();
client.BaseAddress = new Uri("http://localhost:5271/");
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
var resp2 = await client.GetAsync("Security/CacheClear/?locationId=28463");
resp2.EnsureSuccessStatusCode();
}
}
}
如果我朝着正确的方向前进,有人可以指导我。我需要在代码中进行哪些更改才能获得结果。另外,我在await client.GetAsync
附近变得波浪起伏。 “await方法只能在同步方法中使用。请帮帮我。
答案 0 :(得分:0)
MVC控制器具有MVC Web应用程序的定义行为。我认为你需要的是创建一个ASP.NET Web Api项目,它使用扩展的控制器继承基类ApiController,并允许你做比常规MVC应用程序控制器更多的工作。两个有用的链接:
ASP.NET Web Api入门
从.NET客户端调用Web Api
希望它有所帮助!