SMS提供程序的WebAPI和异步问题

时间:2019-03-07 14:41:31

标签: c# api asynchronous

我正在尝试调用SMS服务VoodooSMS提供的API。他们没有有关如何在c#中实现的任何文档。我尝试了以下操作,但是在response.StatusCode上它从未中断。使用小提琴手,我可以看到发送了一个请求,但内容为0字节,服务器未响应。我已经包含了实时API密钥,因此请注意,它将很快更改,但是有20个积分可以测试。

这是Voodoo SMS https://www.voodoosms.com/api/#introduction

的文档
        async Task<string> sendVoodooSMS(ClientSMS clientSMS)
    {

        var request = WebRequest.Create("https://api.voodoosms.com/balance") as HttpWebRequest;
        request.Method = "GET";
        request.Headers.Add(HttpRequestHeader.Authorization, "Bearer BPNLmUBX9mjvYjN1kSgVW8wCocCnabPcrdoSzpryRRiq2w"); 

        var response = request.GetResponse() as HttpWebResponse;
        if (response.StatusCode == HttpStatusCode.OK)
        {
            Console.WriteLine(response.StatusCode);
        }
        else
        {
            Console.WriteLine(response.StatusCode);
        }

        return response.StatusCode.ToString();
    }




    [HttpPost]
    [ValidateAntiForgeryToken]
    [Authorize(Roles = "clients")]
    public ActionResult sendSMS(ClientSMS clientSMS)
    {

        ///
        ///
        /// TEST VOODOO SMS
        ///
        ///
        var voodooMessageResponse = this.sendVoodooSMS(clientSMS);

    }

以前从未在C#中编写过使用RESTful API的服务,而仅在AJAX中使用过,所以我有点受阻。任何帮助表示赞赏。

更新:很抱歉,请澄清一下,如果从不中断(response.StatusCode == HttpStatusCode.OK),则此行上的断点将返回到调用方法。调用方法在我的控制器中,我想等待结果,以便可以将方法返回类型更新为以下类型。

        [HttpPost]
    [ValidateAntiForgeryToken]
    [Authorize(Roles = "clients")]
    public async Task<ActionResult> sendSMS(ClientSMS clientSMS)
    {

        ///
        ///
        /// TEST VOODOO SMS
        ///
        ///
        var voodooMessageResponse = await this.sendVoodooSMS(clientSMS);

提琴手展示的这对我完全没有意义。

Fiddler

0 个答案:

没有答案