asp.net mvc - 通过 C# 代码发出 http 请求

本文关键字:http 请求 代码 net mvc 通过 asp | 更新日期: 2023-09-27 17:57:00

可能的重复项:
将视图呈现为字符串

你好

我想知道是否有可能在您的 C# 代码中(通过位于其自己的线程上且不了解 httpcontext 的调度程序)向控制器发出请求?

//server side code
// do calculations 
// post to a controller that takes in a list of view models
// do stuff with the collection of view models.
public myControllerIwantToCallFromServerSide(List<VM> viewModels)
{
   // stuff here
}

我需要一些方法来执行 http 请求,以便我可以获取一个 httpcontext,因为我需要一个实时 http 上下文来使用一个库(动作邮件程序),该库获取 mvc 视图并将其呈现为电子邮件并发送。

asp.net mvc - 通过 C# 代码发出 http 请求

您可以使用 WebClient 类:

using (var client = new WebClient())
{
    var values = new NameValueCollection
    {
        { "prop1", "value 1" },
        { "prop1", "value 2" },
    };
    var result = client.UploadValues("http://example.com/", values);
}

我使用理查德发布的方法。我调用视图引擎来呈现我的部分视图,然后使用 System.Net.Mail.SmtpClient 生成电子邮件并将其发送出去。

我很抱歉,因为我最好在上面评论,但我没有这样做的声誉。