我正在尝试将信号器添加到我的asp.net核心/角度项目中。 我在Angular中使用输入对象设置了一个子组件,我试图这样做,因此当用户单击复选框时,它会调用signalr返回该步骤的状态,然后将该状态分配给该步骤对象。 我的问题是我的step对象在调用我的invoke方法时是不确定的,我不知道为什么。 除了hubReturn函数,我可以在代码的其他任何地方访问step对象
这是我的角度组件,当我从服务器获得响应时,到signalR的连接正常工作
public class UpdatesHub : Hub
{
private readonly IUpdateRepository _repo;
public UpdatesHub(IUpdateRepository repo)
{
_repo = repo;
}
public async Task GetProgress(int id, int stepNum)
{
var update = await _repo.GetUpdate(id);
var step = await _repo.GetUpdateSteps(stepNum, id);
await Clients.All.SendAsync("StepProgress", step.Progress);
}
}
这是signalR集线器,
<!DOCTYPE html>
<html>
<head>
<title>seamless_background_test</title>
<style>
html,body{
margin:0;
padding:0;
}
.seamless_background{
min-height: auto;
width: 100%;
/*bg-color bg-image position/bg-size bg-repeat bg-origin bg-clip bg-attachment initial|inherit*/
background: url(./seamless_background_test2a.jpg) center repeat ;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.content_container{
min-height: 300vh;
background: orange;
width: 75%;
margin:auto;
}
.content h1{
padding:15px;
color:rgb(140, 49, 0);
display:flex;
justify-content: center;
align-items: center;
}
#wind_content{
position:relative;
height: 100%;
width: 100%;
margin:auto;
top: 15vh;
background:rgba(255, 255, 255, 1);
font-style:Arial;
font-size: 1.5em;
display:flex;
justify-content: center;
align-items: center;
}
#grass_content{
position:relative;
height: 100%;
width: 100%;
margin:auto;
top: 15vh;
background:rgb(197, 245, 66);
font-style:Arial;
font-size: 1.5em;
display:flex;
justify-content: center;
align-items: center;
}
</style>
</head>
<body>
<div class="seamless_background" >
<div id="wind_content" >
<div class="content_container">
<h1>I am an awesome content :)!<h2>
<div>
</div>
<div id="grass_content" >
<div class="content_container">
<h1>I am an awesome content :)!<h2>
<div>
</div>
<div>
</body>
</html>