C# 在MVC应用程序中调用Web API(无GET/POST/DELETE/UPDATE)

C# 在MVC应用程序中调用Web API(无GET/POST/DELETE/UPDATE),c#,asp.net-mvc,api,http,sms,C#,Asp.net Mvc,Api,Http,Sms,我正在开发一个MVC应用程序,在订单创建期间,它将向注册的电话号码发送一条短信。流程是: 用户输入个人详细信息(包括电话号码)和订单特定详细信息 用户收到带有代码的短信 用户输入代码以确认订单 我希望控制器在控制器操作中创建代码之后,使用web api发送代码。我正在使用“clickatell”web api,在这里我可以使用以下链接发送短信: https://api.clickatell.com/http/sendmsg?user=[用户名]&密码=[密码]&api_id=[api id]

我正在开发一个MVC应用程序,在订单创建期间,它将向注册的电话号码发送一条短信。流程是:

  • 用户输入个人详细信息(包括电话号码)和订单特定详细信息
  • 用户收到带有代码的短信
  • 用户输入代码以确认订单
我希望控制器在控制器操作中创建代码之后,使用web api发送代码。我正在使用“clickatell”web api,在这里我可以使用以下链接发送短信:
https://api.clickatell.com/http/sendmsg?user=[用户名]&密码=[密码]&api_id=[api id]&收件人=[电话号码]&文本=[文本消息]

我不需要得到任何信息回来,API只是发送短信时,你访问的网址。我需要控制器以某种方式访问网站(不显示),或只是向其发送消息,以触发SMS事件


我曾尝试使用Http、uri和url类,但似乎找不到任何方法来完成我希望它完成的任务。是否有一种简单的方法来调用web api并使其从控制器操作发送SMS?

可以使用从web api获取结果。建议每个应用程序只实例化一次,而不是每次使用(您可以在msdn中查看httpclient备注),但对于这个示例,我将排除它

await new HttpClient().GetAsync("https://api.clickatell.com...")

这将返回您,并且您可能还需要检查属性
IsSuccessStatusCode
(或者直接调用
EnsuccessStatusCode()
,如果您希望这样处理,它将引发异常)请求是否成功,因为外部服务可能不可用(或者也可能发生其他问题)

您是否尝试过
等待新的HttpClient()https://api.clickatell.com...")
?这应该能够完全满足您的需求,我没有看到这样做的方式,但您是对的,它完全满足了我的需要,谢谢!太好了,我将在回答中给出一些关于响应状态的评论