调用集线器后,无法设置对象的属性

时间:2019-06-28 19:32:58

标签: angular asp.net-core-signalr

我正在尝试将信号器添加到我的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>

0 个答案:

没有答案