首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在ASP.net web应用程序中发送短消息后,Sinch就会卡住

在ASP.net web应用程序中发送短消息后,Sinch就会卡住
EN

Stack Overflow用户
提问于 2015-10-14 18:08:12
回答 2查看 331关注 0票数 0

我一直在尝试使用mvv4将Sinch集成到我的ASP.net网络应用程序中,到目前为止还没有什么效果。我确实从这个链接上的教程页面复制了代码,但是当我创建一个c#控制台应用程序时,它也能工作。

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

对此有什么想法吗?

更新1:

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

代码语言:javascript
运行
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Sinch.ServerSdk;

namespace ConsoleApplication2
{
    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("+1mynumber", "Hello world. Sinch SMS here.").Send();

        }
    }
}

这是我的asp.net mvc web应用程序,它不工作

代码语言:javascript
运行
复制
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(); 
        }

    }
}

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

不要否决我的问题,让我知道为什么,我认为这会更有帮助。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-14 20:29:46

您可以在MVC中使用等待,只需将操作设置为异步即可。

代码语言:javascript
运行
复制
public async Task<ActionResult> Index()

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

票数 2
EN

Stack Overflow用户

发布于 2015-10-14 18:40:59

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

代码语言:javascript
运行
复制
        private async Task sendSMS() {                        
            var smsApi = SinchFactory.CreateApiFactory("mykey", "mysecretkey").CreateSmsApi();
            var sendSmsResponse = await smsApi.Sms("+1mynumber", "Hello world.  Sinch SMS here.").Send(); 
        }

“等待”意味着异步运行。试着移除它。另外,将函数返回类型更改为void,而不是异步任务

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33132559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档