在ASP.net Web应用程序中发送SMS后,Sinch SMS卡住了

时间:2015-10-14 18:08:13

标签: c# asp.net asp.net-mvc sinch

我一直在尝试使用MVC 4将Sinch SMS集成到我的ASP.net Web应用程序中,到目前为止没有运气,没有任何作用。我确实从这个link的教程页面复制代码,但是当我创建一个c#控制台应用程序和PHP时,它确实有用。

对我来说,这个Nuget包(Sinch.ServerSDK)在使用ASP.NET c#时遇到了一些问题,这两个项目都是新的,没有任何其他参考包,但只有C#控制台应用程序有效。

对此有何想法?。

更新1:

这是我的c#控制台应用程序项目,它可以正常工作

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Sinch.ServerSdk;
using Sinch.ServerSdk.Messaging;
using Sinch.WebApiClient;
using System.Threading.Tasks;

namespace WebApplication3.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {

            sendSMS().GetAwaiter().GetResult();

            return View();
        }

        private async Task sendSMS() {                        
            var smsApi = SinchFactory.CreateApiFactory("mykey", "mysecretkey").CreateSmsApi();
            var sendSmsResponse = await smsApi.Sms("+1mynumber", "Hello world.  Sinch SMS here.").Send(); 
        }

    }
}

这是我的asp.net mvc网络应用程序,它不起作用

setSelected:

我的问题是,为什么它适用于COnsole应用程序而不适用于我的Web Applicaiton。

不要对我的问题进行投票,而是让我知道为什么,我认为它会更有帮助。

谢谢

2 个答案:

答案 0 :(得分:2)

您可能无法使用"等待"在MVC应用程序中。

        private async Task sendSMS() {                        
            var smsApi = SinchFactory.CreateApiFactory("mykey", "mysecretkey").CreateSmsApi();
            var sendSmsResponse = await smsApi.Sms("+1mynumber", "Hello world.  Sinch SMS here.").Send(); 
        }

"等待"意味着异步运行。尝试删除它。此外,将函数返回类型更改为 void 而不是异步任务

答案 1 :(得分:2)

您可以在MVC中使用await,只需将操作设置为Async

即可
public async Task<ActionResult> Index()

如果您不想这样做,可以smsApi.Sms("+1mynumber", "Hello world. Sinch SMS here.").Send().Result();