C# 如何从控制台应用程序调用 MVC Action 方法

标签 c# asp.net-mvc

我正在开发控制台应用程序,它获取一些数据并调用 MVC3 Action 方法并将获取的数据作为参数传递给该操作方法。 但我的问题是控制台应用程序如何知道数据成功传递\MVC 操作方法调用是否正确以及服务器上的 mvc 应用程序是否正在运行

这是我的代码:

public static void Main()
{
// Mvc application object intialization
                HomeController object_Mail = new HomeController();
            // Mvc action method call
           object_Mail.mailgateway(mvcemails); //mvcemails parameter passed to Actionmethod               
}

请指导我...

谢谢, 拉吉

最佳答案

您不能像在此处那样调用 MVC 操作,桌面应用程序和 Web 应用程序是不相关的。它们作为两个不同的实体存在。现在,如果您需要从桌面应用程序调用 mvc 操作,就像调用使用您的桌面应用程序的任何其他 Web 端点,您需要创建一个 HTTPRequest..

在您的桌面应用程序中创建一个 HTTPRequest,如下所示:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://"+ <your mvc action endpoint> )
request.Method = "GET";
//specify other request properties

try
{
    response = (HttpWebResponse)request.GetResponse();
}

如果您想将一些数据传递给您的操作,即操作参数,您可以按如下方式构建您的 url:

获取请求

string url = string.Format(
            "http://mysite/somepage?key1={0}&key2={1}",
            Uri.EscapeDataString("value1"),
            Uri.EscapeDataString("value2"));

对于 POST 请求

webRequest.Method = "POST";
var data=string.Format("key1={0}&key2={1}",Uri.EscapeDataString("value1"),Uri.EscapeDataString("value2")");
StreamWriter requestWriter = new StreamWriter(webRequest.GetRequestStream());
requestWriter.Write();
requestWriter.Close();

关于C# 如何从控制台应用程序调用 MVC Action 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11643490/

相关文章:

c# - C# 中 UTF16LE(无 BOM 和 0 字节结尾)的 MD5

c# - 将通用预加载方法从 EF6 转换为 EF Core

c# - 我应该定义自定义枚举器还是使用内置枚举器?

c# - Action 链接 CS1026 : ) expected

c# - 应用插件系统

c# - 找不到类型或命名空间名称 'ApplicationUser'

asp.net-mvc - 将 LINQ to EF 投影到 View 模型时出现异常。获取 "only parameterless constructor and initializers"异常

c# - UDP 套接字 : recvfrom() returns -1 (SOCKET_ERROR)

c# - 为什么我不应该使类可序列化?

asp.net - 如何使用 MSBuild 编译 ASP.Net MVC 项目