将C#队列数据推送到
我有一个Asp.net网页,它连接到WCF服务,并通过WCF web套接字连接检索数据,如下所示。 Default.aspx.cs将C#队列数据推送到,c#,angularjs,C#,Angularjs,我有一个Asp.net网页,它连接到WCF服务,并通过WCF web套接字连接检索数据,如下所示。 Default.aspx.cs public static List<String> lstStud = new List<String>(); [WebMethod] public static List<String> GetData() { queueItems.Dequeue(value);
public static List<String> lstStud = new List<String>();
[WebMethod]
public static List<String> GetData()
{
queueItems.Dequeue(value);
lstStud.Add(value);
return lstStud;
}
public static Queue<string> queueItems = new Queue<string>();
private class CallbackHandler : Service1.IRestServiceImplCallback
{
public async Task SendDataAsync(string value)
{
//do something here
Console.WriteLine("{0}", value);
}
public async void SendData(string value)
{
if (queueItems != null)
{
if (value != "No Data")
{
queueItems.Enqueue(value);
}
}
}
}
publicstaticlist lststrud=newlist();
[网络方法]
公共静态列表GetData()
{
queueItems.Dequeue(值);
增加(价值);
回位螺栓;
}
public static Queue queueItems=new Queue();
私有类CallbackHandler:Service1.IRestServiceImplCallback
{
公共异步任务SendDataAsync(字符串值)
{
//在这里做点什么
WriteLine(“{0}”,值);
}
公共异步void SendData(字符串值)
{
if(queueItems!=null)
{
如果(值!=“无数据”)
{
queueItems.Enqueue(值);
}
}
}
}
我在async SendData回调方法中成功接收数据。当数据进入时,我无法在UI上显示此数据。我的谷歌搜索已经把我指向了有角度的方向。角度是解决这个问题的好方法吗
**Default.aspx**
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent"runat="server">
<div class="container" ng-controller="dataCtrl" ng-app="app">
<table class="table table-striped table-hover table-condensed">
<tr ng-repeat="data in data">
<td>{{data}}
</td>
</tr>
</table>
</div>
</asp:Content>
**data.js:**
app.value('pageMethods', PageMethods);
app.factory('mydata', function (pageMethods, $rootScope) {
var result = [];
pageMethods.GetData(function (data) {
data.forEach(function (item) {
result.push({ id: item.Id});
});
$rootScope.$apply();
});
return result;
})
**dataCtrl.js**
app.controller('dataCtrl', function ($scope, data) {
$scope.data = data;
});
**Default.aspx**
{{data}}
**data.js:**
app.value('pageMethods',pageMethods);
应用程序工厂('mydata',函数(pageMethods,$rootScope){
var结果=[];
pageMethods.GetData(函数(数据){
data.forEach(功能(项){
push({id:item.id});
});
$rootScope.$apply();
});
返回结果;
})
**dataCtrl.js**
app.controller('dataCtrl',函数($scope,data){
$scope.data=数据;
});
好吧,如果您的问题与用户界面有关。显示您的AngularJS代码。添加了Default.aspx和.js代码。我不确定当队列项目中有新项目时如何更新UI。AngularJS应用程序中定义了数据
?请添加您的数据Ctrl.my bad。刚刚添加了dataCtrl.js