Sinch C#客户端URL解析异常

问题描述

我正在使用C#客户端作为Sinch短信提供商:Nuget Package link

这是我使用Sinch发送短信的代码

using Sinch.ServerSdk;

var smsApi = SinchFactory
                    .CreateApiFactory("my_service_plan_id","my_secret_key")
                    .CreateSmsApi();

即使在发送短信之前,我也遇到了错误。这是堆栈跟踪:

Invalid URI: The hostname Could not be parsed.
   at System.Uri.CreateThis(String uri,Boolean dontEscape,UriKind uriKind)
   at System.Uri..ctor(String uriString)
   at Sinch.Webapiclient.WebClientRequestInterceptor`1..ctor(String baseUri,IHttpClient httpClient,IActionFilter[] filters)
   at Sinch.Webapiclient.WebapiclientFactory.CreateClient[T](String baseUri,IActionFilter[] filters)
   at Sinch.ServerSdk.ApiFactory.Createapiclient[T](String url)
   at Sinch.ServerSdk.ApiFactory.CreateSmsApi()

解决方法

您的语法似乎正确。这在控制台应用程序中有效:

using System.Threading.Tasks;
using Sinch.ServerSdk;

class Program
{
    static void main(string[] args)
    {
        sendSMS().GetAwaiter().GetResult();
    }
    private static async Task sendSMS()
    {
        var smsApi = SinchFactory
                       .CreateApiFactory("mykey","mysecretkey")
                       .CreateSmsApi();
        var sendSmsResponse = await smsApi.Sms("<mynumber>","Hello world,this is a text message.").Send();
    }
}

和asp.net Web应用程序的语法相似。可能您的"mykey""mysecretkey"不正确。