Hi I am working on azure function with SignalR. I have one method in azure function to push some SignalR messages. 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);
method and made method as 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.
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;
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.