use*_*921 6 c# signalr signalr-hub azure-functions azure-signalr
我正在按照本指南使用 SignalR 触发器绑定构建我的第一个 Azure Function App 。我已经在 Azure 中设置了 Function App 和 SignalR 服务。
但现在我需要调试我的 SignalR 触发函数之一。我尝试使用本地函数主机 (func.exe) 使用 Visual Studio 2022 来执行此操作,只需在我的 Azure Functions 项目中按 F5 即可。
我的 ServerlessHub 带有一个函数 JoinGroup,我想在 Visual Studio 中调用和调试该函数。
namespace FunctionApp
{
public class SimpleChat : ServerlessHub
{
[FunctionName("negotiate")]
public SignalRConnectionInfo Negotiate([HttpTrigger(AuthorizationLevel.Anonymous)]HttpRequest req)
{
var claims = GetClaims(req.Headers["Authorization"]);
return Negotiate(
claims.First(c => c.Type == ClaimTypes.NameIdentifier).Value,
claims
);
}
[FunctionName(nameof(JoinGroup))]
public async Task JoinGroup([SignalRTrigger]InvocationContext invocationContext, string connectionId, string groupName)
{
throw new ApplicationException("CODE REACHED");
await Groups.AddToGroupAsync(connectionId, groupName);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我还用打字稿编写了一个简单的客户端,使用一个方法来调用我的 JoinGroup 函数:
testjoinGroup(){
if (this.isConnected()) {
this.hubConnection.invoke<any>("joinGroup", "testGroupName")
.then(x => console.log("success"))
.catch(err => console.log(err)):
}
}
Run Code Online (Sandbox Code Playgroud)
连接已成功创建,协商调用已通过,并且当我调用上述方法 testjoinGroup() 时,它会打印“成功”。但是,我没有在 Visual Studio 中达到断点。我的网络应用程序或 VS 中都没有收到任何错误。我已配置“local.settings.json”以连接到我的 SignalR 实例。
我想做的事情根本不可能吗?我是否需要将更改部署到 Azure 才能测试新代码?
| 归档时间: |
|
| 查看次数: |
596 次 |
| 最近记录: |