WCF Service Return And Array Instead Of A List <T>?
Mar 26, 2010
In the web servce I say
public List<Customer> GetCustomers()
{
PR1Entities dc = new PR1Entities();
var q = (from x in dc.Customers
select x).ToList();
return q;
}
(customer is a entity object)
Then I generate the proxy when I add the service.. and in the reference.cd it say
public wcf1.ServiceReference1.Customer[] GetCustomers() {
return base.Channel.GetCustomers();
}
I need to pass a random number from 1 to 100 from the client to a webservice, and then the webservice will subtract this number from the list of 100 numbers (say 1-100). Then, in the next call, the next random number will be subtracted from the rest 99 numbers and so on.
I need this to be done with AJAX. I don't know where the Array list should be held in the first place (would it be in the web service or in the code behind? ), and how this can be done?
Iam getting an array of list from database to client side(javascript array). Now my aim to place those values in a div one by one and that div should attach to the textbox similar to Autocomplete extender.
Suppose I have the string like String sample="{K,S},{T}". Then splitting with "," I need the output of the string array. The string array is having items {k,S}, {T}. how to split the above string with "," separated.
we have console-hosted WCF Service and ASP.NET WEB Service (on IIS). After some tough operation WCF Service must return some data(large data) to ASP.NET Web Service for next processing. I tested on small results - everything is ok. But after testing on real data(serialized result object is near 4.5 mb) error occurs on ASP.NET Web Service (which is client in wcf-client-server communication).
Messages size are configured by next binding (on server and client): NetTcpBinding netTcpBinding = new NetTcpBinding(); netTcpBinding.TransactionFlow = true; netTcpBinding.SendTimeout = new TimeSpan(0, 4,0, 0); netTcpBinding.Security.Mode = SecurityMode.None; [code]...
I am trying to return some data as json from an action method.
I have an employee object that looks like this:
public class Employee { public int EmployeeID {get; set;} public string FirstName {get; set;} public string LastName {get; set;} //Other irrelevant properties }
Then I have a view model as follows
public Class EmployeeViewModel { public Employee Supervisor{get; set;} public List<EmployeeViewModel> Employees }
I need to return a json object that looks exactly like this:
For now I only need to go to the second level as above, returning and supervisor and their staff members beneath them.
How would I go about returning this in my action method(I have the viewModel object hydrated already I just need to return it as json). My problem so far has been that the children property does not get populated.
I am trying to create a dynamic table that is being built based on the value of a search text box. The Table will have probably 6 columns of 20(max) rows.
My problem is I can't figure out how to return the data from the web-service to the JS function in a way that will allow me to extract the data that I need.
How to get asp.net return drop down list to return value as int
I want to pass the value to a stored procedure as an integer. But the default appears to be as a string which is not what the store procedure is expecting.
Is there a good way to return the list values as ints?
I suspect I can you set the value on the change selection event, is there another way?
I have built a WCF Service that is being consumed by a Silverlight app. At first I created one method that was very simple:
public String SfTest() { return "SF Test"; }
No poblem. My silverlight app references my service and displays "SF Test" in a textbox. Now I add a method to my wcf service like this:
public List<String> GetTest() { List<String> list = new List<string>(); String a = "a"; list.Add(a); String b = "b"; list.Add(b); return list; }
I update the reference to the service in my Silverlight app and the using statement in my xaml cs page throws an error like the service doesn't even exist although it is there. I am assuming the problem has to do with datatypes or serialization or something like that but it is driving me up the wall. Why can't I consume a simple generic list in my Silverlight app through the WCF service.
A sample web service app I have been practicing with has two web methods: 1) HelloWorld -- which I can read the data from no problem - just a string 2) ClientData[] -- which returns an array of struct objects -- this is where I have the question.
Here is my instantiation of the webservice in my winform app for reading from HelloWorld
myWebSvc1.WebService1 s1 = new myWebSvc1.WebService1(); string y = s1.HelloWorld(); //--no problems so far here Console.WriteLine(y); //--but when I add the call to GetClientData() I have a problem List<ClientData> ls = new List<ClientData>(s1.GetClientData(3)); //--problem here
public struct ClientData { public String Name; public int ID; } [WebMethod(CacheDuration = 30, Description="Returns an array of Clients.")] public ClientData[] GetClientData(int Number) { ClientData [] Clients = null; if (Number > 0 && Number <= 10) { Clients = new ClientData[Number]; for (int i = 0; i < Number; i++) { Clients[i].Name = "Client " + i.ToString(); Clients[i].ID = i; } } return Clients; }
If I browse the .asmx file -- the sample xml returns the following if I enter 3 for GetClientData function param
From my winform app I get the following error messages when trying to add the GetClientData function call above --
Error 1 The best overloaded method match for 'System.Collections.Generic.List<DSS_2008.Form7.ClientData[]>.List(System.Collections.Generic.IEnumerable<DSS_2008.Form7.ClientData[]>)' has some invalid arguments
Error 2 Argument '1': cannot convert from 'DSS_2008.myWebSvc1.ClientData[]' to 'System.Collections.Generic.IEnumerable<DSS_2008.Form7.ClientData[]>'
Error1 The best overloaded method match for 'System.Collections.Generic.List<DSS_2008.Form7.ClientData[]>.List(int)' has some invalid arguments
Error 2 Argument '1': cannot convert from 'DSS_2008.myWebSvc1.ClientData[]' to 'int'
How can I fix this so that I can read the result into my winform app? //--sample web service
namespace MyService { using System; using System.Collections; using System.Data; using System.Web; using System.Web.Services; public struct ClientData { public String Name; public int ID; } /// <summary> /// Summary description for WebService1. /// </summary> [WebService(Namespace="http://codeproject.com/webservices/", Description="This is a demonstration WebService.")] public class WebService1 : System.Web.Services.WebService { //--source of sample: http://www.codeproject.com/KB/webservices/myservice.aspx private const int CacheHelloWorldTime = 10; // seconds public WebService1() { //CODEGEN: This call is required by the ASP+ Web Services Designer InitializeComponent(); } /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { } //WEB SERVICE EXAMPLE //The HelloWorld() example service returns the string Hello World //To build, uncomment the following lines then save and build the project //To test, right-click the Web Service's .asmx file and select View in Browser // [WebMethod(CacheDuration = CacheHelloWorldTime, Description="As simple as it gets - the ubiquitous Hello World.")] public string HelloWorld() { return "Hello World bbb"; } [WebMethod(CacheDuration = 30, Description="Returns an array of Clients.")] public ClientData[] GetClientData(int Number) { ClientData [] Clients = null; if (Number > 0 && Number <= 10) { Clients = new ClientData[Number]; for (int i = 0; i < Number; i++) { Clients[i].Name = "Client " + i.ToString(); Clients[i].ID = i; } } return Clients; } } }
When I am tryng to pass the gridview cell values to an array everything is perfect but the array is empty after executing the code. When I see through debug mode the index of selected row also is fine, i.e. when I select two rows using checkbox among 1000 the count shows exactly 2 in the array but the data is empty. I'm not able to get the cell value from the gridview.
What would be the most efficient way of storing a set of values in a session? I'm guessing it's either a List/Array or Dictionary. Basically, when a user selects an item from a DropDownList, a value (between 1 and N where N <= 20) is sent back to the server. I'd then like this value to be used as an index (if using arrays) or key (if using a dictionary) within the session. I don't want the value to be seen by the user, hence why it's not stored in the DDL. From what I gather, dictionaries are designed for key-lookups. However, since the scale is quite small, are there any overheads of using a dictionary that could make it less efficient in this case? Each corresponding value is unique to the user, so I've decided to use sessions.
I have a web service that originally returned a string containing text formatted as XML. I was contacted by the programmer who is going to be consuming the web service, and he asked if I could make it "just XML" and not a string. I converted the web service so that it returns an XMLDocument object, and it seems to be returning data properly. I would just like to erify, however, that the XMLDocument object is what the other programmer was referring to when he said "just XML," and that the XMLDocument can be universally consumed by any programmer, regardless of his or her programming environment.
I am new to web service... I have created a simple web service to add a record to sql server by passing a parameter and returns true or false once done. It the same time, I want to return the customer_account_number value created on the sql server.. so basically I want to return the true and false and one (or more) additional values.
i have an string data array which contains data like this
5~kiran 2~ram 1~arun 6~rohan
now a method returns an value like string [] data public string [] names()
{ return data.Toarray() } public class Person { public string Name { get; set; } public int Age { get; set; } ) List<Person> persons = new List<Person>(); string [] names =names();
now i need to copy all the data from an string array to an list<person> and finally bind to grid view
i want to insert checkbox text only if they are checked. .. how to do that ..
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load TextBox1.Text = Request.QueryString("txt") Dim splitted As String() = TextBox1.Text.Split(",") For Each id As String In splitted Dim ctrl As Control = Page.FindControl("checkbox" & id) If Not ctrl Is Nothing Then Dim chkbox As CheckBox = DirectCast(ctrl, CheckBox) chkbox.Enabled = False Dim arrList As New ArrayList() 'populate the list with some temp values arrList.Add(CheckBox1.Text) arrList.Add(CheckBox2.Text) 'databind the list to our repeater Repeater1.DataSource = arrList Repeater1.DataBind() End If Next End Sub
This code will add all checkboxes whether it is checked or not !
so that only checked checkboxes would be added in array list