[英]How to return SignalRMessage inside async method?
Hi I am working on azure function with SignalR.嗨,我正在使用 SignalR 开发 azure 函数。 I have one method in azure function to push some SignalR messages.
我在 azure 函数中有一种方法来推送一些 SignalR 消息。 My function looks like below:
我的功能如下所示:
[FunctionName("samplefunction")]
public static async Task<SignalRMessage> PushSuccess(
[HttpTrigger(AuthorizationLevel.Anonymous, "post")] DataResponseSuccess DataResponseSuccess,
ILogger log,
[SignalR(HubName = "myhub")] IAsyncCollector<SignalRMessage> signalRMessages,
HttpRequest req)
{
var data = await Authenticated(req, log);
if (data == "UnauthorizedResult")
{
log.LogInformation($"Authentication failed: at {DateTime.UtcNow}");
}
return signalRMessages.AddAsync(
new SignalRMessage
{
UserId = "",
Target = "myhub",
Arguments = new[] { DataResponseSuccess }
});
}
Recently I added await Authenticated(req, log);
最近我添加了
await Authenticated(req, log);
method and made method as async Task<SignalRMessage>
.方法并将方法设为
async Task<SignalRMessage>
。 After making these changes I started getting below error:进行这些更改后,我开始收到以下错误:
Cannot implicitly convert type System.threading.Task.Task to Microsoft.Azure.WebJobs.Extensions.SignalRService.SignalRMessage.
无法将 System.threading.Task.Task 类型隐式转换为 Microsoft.Azure.WebJobs.Extensions.SignalRService.SignalRMessage。
Can someone help me to fix this?有人可以帮我解决这个问题吗? Any help would be appreciated.
任何帮助,将不胜感激。
Try this!
试试这个!
var message = new SignalRMessage
{
UserId = "",
Target = "myhub",
Arguments = new[] {DataResponseSuccess}
};
signalRMessages.Add(message);
if(signalRMessages.SaveChangesAsync()) return message;
throw new HubException("Failed!");
Maybe可能是
var message = new SignalRMessage
{
UserId = "",
Target = "myhub",
Arguments = new[] {DataResponseSuccess}
};
await signalRMessages.AddAsync(message);
return message;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.