public Result_Get_Employees Get_Employees()
{
System.Diagnostics.Debug.WriteLine("wcf called"); //being printed multiple times
#region Declaration And Initialization Section.
string i_Ticket = string.Empty;
Result_Get_Employees oResult_Get_Persons = new Result_Get_Employees();
#endregion
#region Body Section.
FuelAppEntities entities = new FuelAppEntities();
return entities.tbl_User.ToList();
#endregion
#region Return Section
System.Diagnostics.Debug.WriteLine("Result is: "+oResult_Get_Persons.My_Result.Count);//Returing the right value
return oResult_Get_Persons;
#endregion
}
Возможно, что-то не так в фрагментах кода. Вообще говоря, мы должны вернуть список. Возьмите шаблон WCF по умолчанию в качестве примера.
IService1.cs
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)]
List<CompositeType> GetDataUsingDataContract();
[DataContract]
public class CompositeType
{
bool boolValue = true;
string stringValue = "Hello ";
[DataMember]
public bool BoolValue
{
get { return boolValue; }
set { boolValue = value; }
}
[DataMember]
public string StringValue
{
get { return stringValue; }
set { stringValue = value; }
}
}
Service1.cs
public List<CompositeType> GetDataUsingDataContract()
{
List<CompositeType> lists = new List<CompositeType>()
{
new CompositeType()
{
StringValue="Hello",
BoolValue=true
},
new CompositeType()
{
StringValue="busy",
BoolValue=false
},
new CompositeType()
{
StringValue="World",
BoolValue=true
}
};
return lists;
}
Knockoutjs переплет.
<script>
var model = {
composites: ko.observableArray()
};
function sendAjaxRequest(httpMethod, callback, url) {
$.ajax("http://10.157.18.36:12000/service1.svc/getdatausingdatacontract", {
type: httpMethod, success: callback
});
}
function getAllItems() {
sendAjaxRequest("GET", function (data) {
model.composites.removeAll();
for (var i = 0; i < data.length; i++) {
model.composites.push(data[i]);
}
});
}
$(document).ready(function () {
getAllItems();
ko.applyBindings(model);
});
</script>
Html.
<div class="panel-heading">List Composites</div>
<div class="panel-body ">
<table class="table table-striped table-condensed">
<thead>
<tr>
<th>
StringValue
</th>
<th>
BoolValue
</th>
</tr>
</thead>
<tbody data-bind="foreach:model.composites">
<tr>
<td data-bind="text:StringValue"></td>
<td data-bind="text:BoolValue"></td>
</tr>
</tbody>
</table>
</div>
Результат.
Не стесняйтесь, дайте мне знать, если я могу чем-то помочь.