WCF / ASMX :: Alternatives To Returning A DataTable From WCF
Dec 7, 2010
I have read a lot of posts describing why it isn't good practice to return heavy objects like DataTable/DataSet to the client from WCF. However, there doesn't seem to be much discussion about the alternatives (or maybe I'm not looking in the right forums).
My problem is this: I've tried to convert my DataReader/DataTable into a List<List<string>>, where List<string> represents the data in each row, but get an error at the point when the data is being sent to the client. A simple List<T> or a one-dimensional array gets returned without any problems. But whenever I try to return a collection of collections, there seems to be an issue. I don't know until runtime what my DataReader would look like as different stored procs are called based on user selection from a web form.
What am I missing here. Is WCF not able to handle collection of collections (I know that multi-dimensional arrays are not supported)?
View 1 Replies
Similar Messages:
Oct 19, 2010
Would it be better in terms of payload, if I return a datatable as a List<DataRow> from a WCF method? I have WsHtppBinding for my WCF. I am expecting the datatable to contain 5,000 to 10,000 records.
Also, how can I test the difference in payload sizes when returning a DataTable Vs List<DataRow>?
View 2 Replies
Apr 5, 2010
In my web application, I have a dynamic query that returns huge data to datatable and this query is often recalled with different parameters. So database is exhausted. I want to get all record with no parameters to an object, and perform queries (may be with linq) on this object. So database will not be exhausted. Which objects can be used instead of datatable?
View 1 Replies
Aug 15, 2010
I have created alot of stored procedures in my application that return the result of a query in a datatable object. I never use a dataset. Why would I ever use a dataset over simply returning the result of a query as a datatable object?
View 3 Replies
Feb 15, 2010
I am using ASP.NET AJAX 3.5
I have a web service that is invoked by the ScriptManager that is attempting to return a DataTable to the receiving javascript.
[Code]....
[Code]....
My service method is called successfully.
[Code]....
[Code]....
View 3 Replies
Jan 21, 2011
I need to return datatable to dataset in asp.net application. I have a method which has a return value as datatable.
However I need to send 2-3 datatable instead of one. I dont know how to join/add two datatable and what could be the return type?
View 2 Replies
Feb 10, 2011
I'm fairly new to ASP.NET and am working through a tutorial that demonstrates the use of DataAdapter, DataTable, and DataRow classes. The tutorial focuses on binding returned DataTables to GridView objects - I'm having trouble understanding what to do to extract one row for display. I've found I can do the following:
ProductsTableAdapter productsAdapter = new ProductsTableAdapter();
Northwind.ProductsTable productsTable = productsAdapter.GetSingleByProductID(searchID)
Northwind.ProductsRow productRow = (Northwind.ProductsRow)productsTable.Rows[0];
A ProductsTable should be able to return its own ProductRows w/o resorting to a cast, no? Can't find how to do it otherwise. I'm thinking how to go about creating a form where the user will only ever be working on one record at a time. Wouldn't it make sense for the DAL to return a ProductsRow instead of a ProductsTable?
View 1 Replies
Apr 9, 2010
I'm returning one table. My understanding is that a DataSet can be made of more than one DataTable. I also understand that I can use either of these to return my one table.
Is it better to use the DataTable when I have one table to return instead of a DataSet? Is there any advantage of not using the DataSet in a situation like this? Is there a disadvantage to using the DataSet when only one table is being returned? Does this even matter?
View 6 Replies
Sep 16, 2010
I have a simple web method written in the code-behind (not a separate asmx) of a test aspx page.
All it does is return a DataTable(or DataSet) both are failing, gives a blank 500 error saying "There was an error processing the request"
If I switch the return variable type to String, it works fine
I think my issue has to do with the version of the System.Web.Extensions, is that the assembly that actually contains the JSON communication implementation?
I've read all kinds of tutorials about how it should be possible to return the DataTable to javascript and then read the properties with javascript syntax.
For some reason it isn't working for me.
My web extensions is imported through my web.config with the following version
<add
assembly="System.Web.Extensions,
Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
View 5 Replies
Jun 10, 2010
I am trying to use a datasource with a dropdownlist. Eventually, my data source method to call a stored procedure and load the datatable is returns, but for now, I am just creating the datatable manually. I need each item to have two attributes, the text, whixh the user will see in the DDL, and the value that the program will retrieve from and store back to the file.
It is partly working in that the DDL has 3 items, however the text for each item reads "System.Data.DataRowView"
I have to be close, but I can't figure out what I am doing wrong.
[Code]....
View 8 Replies
Sep 17, 2010
Ive created a webservice that returns an xmldocument
[WebMethod]
public XmlDocument Invoke()
{
//code here
}
when I add a webreference to a consuming project, the return type is classed as XMLNode, anyone know why?
View 1 Replies
Sep 19, 2010
How is it possible to return some kind of list from a wcf serivce, this the method in my wcf service
my interface:
[Code]....
and this how my GetRootLocations looks like, It returns IQueryable, I wounder if I can maybee return Iqueryable from my svc-service?
[Code]....
View 5 Replies
Sep 14, 2010
I am developing an application with WCF services. The basic functionaloty of a screen is to provide an entry screen to add particular entity. Once save even fired It will save the data to the database and call the bind method to bind into the grid by refreshing the latest data.
When I am running the site from my source (Visual Studio) , it works perfectly. When the client calls method to fetch the data the WCF service, it returns latest (added) data. But the issue comes in the server when it works with IIS. I deployed the code in the server, once the data added I am getting the old data only. But after two refresh I am getting the latest data.
what required to be done to get the latest record.
View 3 Replies
Jul 8, 2010
I am using C# 2.0. I am trying to create a webservice that returns a pdf file.
I tried this:
[Code]....
Is this the correct way? I am not getting any errors, but want to know, if this is correct.
View 6 Replies
Oct 11, 2010
I am trying to deploy a wcf service. I have created a simple service, basically I have created a new wcf service and tried to deploy it however I get this error
The type 'WCF_Application.Service1', provided as the Service attribute value in the ServiceHost directive, or provided in the configuration element system.serviceModel/serviceHostingEnvironment/serviceActivations could not be found.
I am trying to deploy my service to a subdomain like
https://services.mydomain.com/business
My config looks like this
[Code]....
View 3 Replies
Mar 2, 2011
Ok so I am trying to setup a WCF web service. I thought I had my .svc and webConfig ready to go, but when I hit this service all I get is a blank page.
[Code]....
View 1 Replies
Mar 25, 2010
I'm using a web service and I want to return a list to my client. I am nearly newby at web services and I can't return a List<String> object to my client. But when i call the method it says "Unable to cast object of type 'System.Collections.Generic.List`1[System.String]' to type 'System.String[]'" What should I do?
View 2 Replies
Mar 23, 2010
I have some WCF services that I want to return in different formats based on a querystring param. For example, [URL], [URL], [URL], etc... This would make it so that many different types of clients could consume the services whichever way was easiest for them, such as binary for a .NET client and json for an ajax or Flex client.
What I'm thinking is that I can have the WCF web methods return their .NET business objects and not worry about the output mode and then have a behavior that hooks in after returning from the web method which checks the querystring for this param and either:
1. Continues returning the business objects if the mode is dotnet.
2. Converts the business objects to xml if the mode is xml and returns a string of xml.
3. Converts the business objects to json if the mode is json and returns a string of json.
View 2 Replies
May 3, 2010
I have to return collection of parent and child objects in a web service but I am not being able to solve this.
look below code blocks where i will try to explain my problem:
This is my web method which returns a list of parents
[Code]....
[Code]....
Below is my child Class:
[Code]....
View 1 Replies
Jul 28, 2010
I'm trying to communicate with a Windows-hosted SOAP web service using PHP's SoapClient.The Web Service is intended to insert a new record for a member into a database.I can verify that my code using PHP's SOAPClient can successfully transfer the data via the Web Service to the database,but I am not getting the expected return value.
The Web Service description for what I should be getting as a return is described below.On successful execution of the Web Service code,I am getting nothing back despite calling LastResponse function and LastResponseHeaders.It seems no XML is getting returned at all.I am using other API calls within this Web Service and they all seem to work fine with the expected XML returned whenever I invoke a method.but for this one,which involves sending data,I'm not getting a return
View 1 Replies
Jan 20, 2011
I've been reading quite a few tutorials on web services and xml files and one thing isn't quite clear to me. If I want to create an XML file on the fly the tutorials are pretty straight forward but, I want to grab an existing XML file from the web server and return the whole thing. Do I need to read the XML file and send each individual node or is there a way to send the file all at once? The tutorials imply that the whole file could be a node but I'm not clear on what that entails or if it would work. Also do you have a link to an example?
View 1 Replies
Aug 25, 2010
I Need by service contract to return the xml/json result depending on the request type. function which will convert my result set (i am using linq to sql) so that i do not need to create the xml format for the result set by iterating through the table row many times.What is the suitable way to do that.
I need a kind of short cut method which will convert the table data to xml result.Had i been using asp.net mvc i would have been able to generate the xml data by overriding the the ExecuteResult method in the ActionResult and giving Conetnt-Type = "text/xml" as OP.But since i am using Wcf i don't have the controller context(as controller context is the parameter that needs to be passed to Execute Result).
My present code for converting the table data to the xml format is below.
public XDocument UsersLists(string authToken)
{
bool IsAuthenticated = Authenticate(authToken);
XDocument xDoc = new XDocument();
XElement root = new XElement("Users");
[Code]....
I need to eliminate this way of generating xml for each table records.
View 1 Replies
Mar 23, 2010
I have a web service that is running and it shows a list of employees with their information. I created the web service with the following code:
[Code]....
The problem is 'Null' values in the datatable don't show up as empty tags in the XML so when I read the XML from the web service this is no consistency. Is there a way to show the tags even when the fields are null in the datatable or is there a better way to accomplish what I need. I'm reading this web service from a silverlight application with the following code (this application works but, it doesn't show all the employees as it skips over when no tag is present):
[Code]....
View 2 Replies
Jul 14, 2010
I can fill and then return typed dataset from a web method, but applying these steps by using Typed Datatable instead of Typed Dataset I cannot return filled typed dataTable. So, is it possible to return typed dataTable from a web method? If yes, how can I do this?
I shall give a little bit information about my project. There is 3 project in my solution.
I) Presentation Layer (WinForm), II) Business Layer (Web Service) ,
III) Data Access Layer (Win form project type)... The problem is that;
I use 2 seperate methods. 1st is FillTable() which fill a datatable in my Typed Dataset in Data Access layer. The 2nd isGetTable() which should return typed datatable filled by FillTable() method. I try these methods and FillTable() methods (goes from I. layer to II. Layer and then III. layer) fills a datatable properly and after that I can return this datatable by calling GetTable() method from Typed Dataset (in III. layer) to WebService. I have tested the rows count of returning datatable and there is no problem up to WebService. But even after returning this typed datatable from WebService the table comes to Presentation Layer empty. So, there is a problem returning filled typed datatable from WebService to WebForm (from II. layer to I. layer).
On the other hand, if I try this methods by returning Typed Dataset instead of Typed Datatable, I can return properly with a filled datatable in Typed Dataset. But, I relly do not want to return a huge filled dataset which may contain 15 tables instead of one datatable. My questions;
1) Is there any logical approach mistake on my Layer Architecture?
2) What should I do in order to get a Typed Datatable from Web Service (II. Layer of my project)?
View 5 Replies
Jan 10, 2011
I am trying to send System.Data.Datatable from a WCF service, to a C# Windows Forms application. When I execute, I get follwowing message:The maximum message size quota for incoming messages (65536) has been exceededThe datatable I am trying to send can get quite large. What would be the best approach to send the DataTable across without hitting message size limit, or in other words, what are ways around this problem?
View 2 Replies