C# - Object Serializable For AJAX - WCF And ViewState

Jun 30, 2010

consider the following class and struct

public class Entity {
public IdType Id {get;set;}
public string Data {get;set;}
}
[TypeConverter(IdTypeConverter))]
public struct IdType {
... any data ...
}

The IdTypeConverter can convert the IdType struct from and to string. Now, what I want is this class to be serializable for AJAX, WCF and ViewState. The senario could be a WCF web service which provides as array of Entity[] to a DataSource. And a custom control which binds to the datasource, saves this class to it's ViewState and sends the data to client side code. This could be achieved easily by simply adding a [Serializable] attribute to all serialized types. But I don't want the IdType to be serialized, but to be converted to a string. Thus the JSON representation should be

{ 'Id'=>'StringRepresentationOfId', 'Data'=>'foo' }

This would analogously be the optimal serialization for WCF and ViewState. Another solution would be to write another class

public class JsonEntity {
public JsonEntity(Entity from) {
Id = from.Id;
Data = from.Data;
}
public string Id {get;set;}
public string Data {get;set;}
}

and use this for JsonSerialization. But I don't like this, because this would imply that the control which is sending the data to the client knows about the Entity type. The actual question is: Is it possible to customize JsonSerialization with attributes without breaking WCF and ViewState serialization? DIT: An answer like "That' impossible" would satify me, since I'd stop trying.

View 2 Replies


Similar Messages:

Return Serializable Object From FileStream?

Dec 30, 2010

I'm a little green when it comes to streaming and serialization...but what i wanna do is make the Upload method on the server return a serializable object to the client (it is void right now). I have a public class ServiceResult that i decorate with [Serializable], and a public class FileTransferService that implements IFileTransferService

[ServiceContract()]
public interface IFileTransferService
{
[OperationContract(IsOneWay = false)]
string Upload(FileTransferRequest request);
}
The implementation does its thing, and then at the end i create and serialize the object and try to return the string
return ServiceResultSerializer.SerializeAnObject(result);
On the client side i call this service using this class
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
[System.ServiceModel.ServiceContractAttribute(ConfigurationName = "IFileTransferService")]
public interface IFileTransferService
{
// CODEGEN: Generating message contract since the wrapper name (FileTransferRequest) of message FileTransferRequest does not match the default value (Upload)
[System.ServiceModel.OperationContractAttribute(IsOneWay = false, Action = "http://tempuri.org/IFileTransferService/Upload")]
string Upload(FileTransferRequest request);
}

I'm basically taking this project found on this blog: [URL] And trying to make it return a value that the client caller can use I get an error right now that says: The operation 'Upload' could not be loaded because it has a parameter or return type of type System.ServiceModel.Channels.Message or a type that has MessageContractAttribute and other parameters of different types. When using System.ServiceModel.Channels.Message or types with MessageContractAttribute, the method must not use any other types of parameters. Which i have no idea what it means :P I think cuz im trying to change the Service paramaters.

View 1 Replies

AJAX :: Unable To Save FileName Of Upload File In ViewState Object

Jan 18, 2013

How to know the FileName AjaxFileUpload in the event Click of a Button without going through earnest for this is what I found that is to say that the FileName is only in the event Designed AjaxFileUpload1_UploadComplete.

protected void InsertButton_Click(object sender, EventArgs e) {
lblMSG.Text = ViewState["filename"].ToString();
}
protected void AjaxFileUpload1_UploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e) {
ViewState["filename"] = e.FileName;
}
protected void AjaxFileUpload1_UploadComplete (object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e) {
string filePath = "~ / upload /" + e.FileName;
AjaxFileUpload1.SaveAs (filePath);
}

View 1 Replies

Configuration :: Serialize An Object To Store In ViewState?

Aug 6, 2010

Why to Serialize an object to store in ViewState?

View 1 Replies

State Management :: How To Save An Object Reference In A Viewstate

Nov 17, 2010

When I try to save an object reference in a view state it tries to save the object content using serialisation. to save the object reference only to apply to this object instance after postback?

View 5 Replies

Postback - Store Object Class In Viewstate (or Other Ideas)

Sep 8, 2010

I've build a class like this:

[code]....

The values of this class are set at postback by clicking a radiobutton list. Problem however is I don't know how to save this values across multiple postbacks. I thought of using viewstate but I'm not quite sure how to do it with this class.

Maybe I'm missing some important thing here.

Hope someone can point me in the right direction.

View 4 Replies

How To Use A Viewstate'd Object As A Datasource For Controls On User Control

Dec 29, 2010

I've got a listview on a control. Each row comprises a checkbox and another listview.

The outer listview is bound to a property on the control (via a method call, can't set a property as a SelectMethod on an ObjectDataSource it would appear) which is lazy loaded suchly:

[Code]....


The reason for the use of viewstate is this:

When an one of the checkboxes on one of the outer list view rows is checked or unchecked I want to modify the object that the ODS represents (for example I'll add a couple of Charge objects to the relevant Product object) and then rebind.

The problem I'm getting is that after every postback (specifically after checking or unchecking one of the rows' checkbox) my viewstate is empty. Thiss means that any changes I make to my viewstate'd object is lost.

Now, I've worked out (after much googling and reading, amongst many others, Scott Mitchel's excellent bit on ViewState) that during initial databinding IsTrackingViewState is set to false. That means, I think, that assigning the return from GetWebServiceProductLineChargeDetails() to the ViewState item in my Property Get during the initial databind won't work.

Mind you, even when the IsTrackingViewState is true and I call the Property Get, come the next postback, the viewstate is empty.

how I keep the object referenced by the ObjectDataSource in ViewState between postbacks and update it and get those changes to stay in ViewState?

View 1 Replies

C# - How To Store An Array In A ViewState Error / Unable To Cast Object

Feb 6, 2011

My code is:

[code]....

When I run the program, an error occurs:

Unable to cast object of type 'System.Collections.Generic.List`1[System.Int32]' to type System.Int32[]'.

Why does this error occur?

View 2 Replies

State Management :: Updating The Viewstate Object Before Saving It To The Database?

Sep 24, 2010

I have overridden the following methods:

LoadPageStateFromPersistenceMedium()
SavePageStateToPersistenceMedium(object viewState)

in a class that my page derives from, so that the viewstate can be stored in DB.

Now, on page_load of my page, I am checking what control caused a postback & based on that I am forcing execution of 2 button click events in a row (by overloading those click events & calling them explicitely), but the behaviour I want is as if the execution of those 2 button click events went through the regular page life cycle.

Here is the sequence of events that happen in typical page life cycle & notice I want to alter behaviour at step 4 (on load):

1) Initialization

2) LoadViewStateData (here the viewstate is loaded from my database using the overridden LoadPageStateFromPersistenceMedium)

3) LoadPostBackData

4) Load

Here, I would like to force execution of 2 button_click events based on whether a particular control posted back.

4.1) imgBtnPrev5_Click()
4.2) imgBtnPrev4_Click()

Now, when the imgBtnPrev5_Click() is executed, the viewstate is already loaded, so we are fine. But after execution of imgBtnPrev5_Click(), I would like to update the viewstate object in memory & then call the overridden SavePageStateToPersistenceMedium (by passing that updated viewstate object as its parameter) and then before execution of imgBtnPrev4_Click(), I would like to call the overridden LoadPageStateFromPersistenceMedium.

5) RaisePostBackEvent

6) SaveViewState

7) Render

My question is, how do I update the "viewstate" object of the page - that is passed to SavePageStateToPersistenceMedium with the changes made to the controls in imgBtnPrev5_Click()?

View 10 Replies

DataRows Not Serializable In 2.0

Mar 14, 2011

My application uses DataRows and they are not serializable. Is there any workaround for the same?

View 1 Replies

C# - Check Whether A Instance Is Serializable?

Nov 12, 2010

How can check whether a instance is marked as serializable?

View 4 Replies

Determine Which Classes Are Serializable?

Aug 16, 2010

I am changing my ASP.NET app to use a web farm. To do this, I need to change the session state from in-proc to a State Server. To do this, it is my understanding that the classes that are used must be marked as serializable. How can you tell if that is possible with a class? Will you get an error at compile time if it is not possible?

View 2 Replies

C# - Bypass Non Serializable Properties When Going About Serialization

Nov 12, 2010

I follow the code snippet to calculate Session size. Profile Memory Usage of Session State ASP.Net My problem is some properties of objects aren't marked as Serializable so I cannot apply the solution. Can I just bypass non-serializable properties?

View 1 Replies

C# - Mark A Property As Non Serializable For Json?

Feb 24, 2011

As the title says, I want to mark a property as non serializable by the JavascriptSerializer. How can achive that ?

View 1 Replies

C# - To Be XML Serializable, Types Which Inherit From ICollection Must Have An Implementation Of Add?

Nov 10, 2010

I have CSLA (1.x framework) objects from an existing project that I'm trying to use in a new .Net 4.0 project. The objects are being used in production and I really can't convert them to 2.x or EF without having 2 sets of objects.

In my c# webservice (when I try to run it) I am getting the following error:

To be XML serializable, types which inherit from ICollection must have an implementation of Add(objectname.object) at all levels of their inheritance hierarchy. objectname.objectList does not
implement Add(objectname.object).

Like I said these objects are CSLA objects written in vb.net. I don't know where to look on this one. Is it an issue of .Net 4.0 trying to talk to CSLA 1.x or is it a web service issue (as these objects never used web services originally)?

Does anyone have an idea about where I should look to figure out this issue? Should I suggest converting to CSLA 2.x?

View 1 Replies

C# - Check Compile Time That Type Is Marked With The Serializable Attribute?

Jan 26, 2011

Specifically we're making our application compatible with the Out Of Process Session State server where all types saved in session must be serializable. Is there a way to see at compile time that any type put into HttpSessionState is marked with the Serializable attribute. Something along the lines of this 'non-valid' code

public static void Put<T>( string key, T value ) where T : IsMarkedWitheSerializableAttribute
{
HttpContext.Current.Session[key] = value;
}

View 2 Replies

AJAX :: Error In AjaxControlToolkit - Object Reference Not Set To An Instance Of An Object

Mar 28, 2011

I regularly run into the following error in my .NET 4.0 web application:

[Code]....

I found that the issue was already reported here: [URL], but there is no solution provided anywhere (at least, I didn't find it).

View 6 Replies

State Management :: Failed To Load Viewstate. The Control Tree Into Which Viewstate Is Being Loaded Must Match ?

Oct 9, 2010

Now here is the weird thing. First i am running it locally on the built in vs2008 web server.I load my control in fine, do a postback from a linkbutton, locally on my machine it all works fine, no issue.However when it goes onto my host, it falls over with the message:

Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request.Now i also load controls dynamically and use postbacks and things in the admin area of the site...and that works fine, however my front end just keeps failing? See the code behing below:

[Code]....

View 1 Replies

State Management :: ViewState And ObjectDataSource / Getting Values From Viewstate In GetTopThemes?

Jan 11, 2011

I have problem getting values from viewstate in GetTopThemes.

<asp:ObjectDataSource
ID="sourceGetTopThemes"
runat="server"
TypeName="DBConnection"
SelectMethod="GetTopThemes"
EnableViewState="true"></asp:ObjectDataSource>

[Code]....

}

[Code]....

when the page is not Posted back, I saved all values in the viewstate.

View 2 Replies

State Management :: ViewState - Does The Master Page Have Its Viewstate

Apr 30, 2010

I have been getting this error a lot lately with some of my users, and I had a couple of concerns with view state and I have read so many articles but I am still lost..

1. I use masterpage on all the pages and I need viewstate for some of the pages but..

There is a page where a user will fill out the information and then submit this data to a cgi server, and it is where I get most of the Client Disconnected errors, what would happen if I disable viewstate when they click on that button?

Now when a user browses from one page to another, does the view state from the previous page get deleted? If not how would I delete it?

Does the master page have its own viewstate? Would I be able to make sure none of items on my master page are using the viewstate?

View 7 Replies

C# - Page With ViewState Disabled Still Be Validating A Viewstate Field?

Sep 24, 2010

I have a shopping cart page (Cart.aspx) that has a button that will (sometimes) post to a third party payment gateway, if payment is necessary. The payment gateway will process the payment and then do a silent post to my website (Order.aspx) so I can update the order status.

Order.aspx always throws an invalid viewstate error, even though viewstate is disabled on the page.

What's happening is that Cart.aspx (which has viewstate enabled) posts to the payment gateway, and the gateway will post it back as part of the silent post. Even though Order.aspx has viewstate disabled and validation disabled, it still tries to validate the __viewstate field it's being given.

I know setting EnableViewState=false will disable the rendering of the __viewstate field, but if another page provides the field, shouldn't it still skip validation? I tried calling ViewState.Clear() on the Page_Init event of Order.aspx, but ViewState is apparently empty. how to get around this? I don't want to disable ViewState on Cart.aspx (in some cases it may be necessary), but I can't figure out how to clear it on Order.aspx.

View 1 Replies

AJAX :: ViewState Not Working With ColorPickerExtender

Sep 3, 2010

I've got an ASP.NET 3.5 page with multiple ColorPickerExtender controls on it. The functionality works fine in that the selected color is displayed on the associated panel and text boxes, but when a postback is performed from a drop down list on the page, the colors are always reset to their initial values when the page was loaded.

View 2 Replies

AJAX :: Validation Of Viewstate MAC Failed?

Dec 29, 2010

I have a search page and it works most of the time but every now and then when I enter another word to search again, I kept getting this error in the Firefox's Error Console:

Error: Sys.WebForms.PageRequestManagerServerErrorException: Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster. Source File: http://www.MyComp.com criptResource.axd?d=zNx0Fk9xi1ETKBw_Fc9MJ3a9Kp9CNPrHQDabGthwzSh32Wkw_OzriOYrMMZHyFSHnzqpp01wziW_tN0f9jEcZnJcMuTjBAcDB3ptDE0FILLyGwC956G8jI5pQ19F3beEYg0dkW9A9W-jBl1ZBsRms11V-vdOFaHdfpkaWww0H0tuL7am4AbVTa36mnOyWkDq0&t=2610f696 Line: 1508

View 7 Replies

AJAX :: NoBot Fails When ViewState Is Disabled?

Feb 24, 2010

I tried this in many scenarios and everytime the ViewState is disabled page-wide, NoBot raises an internal NullReferenceException and always returns InvalidBadSession. I suspect that you are referencing the ViewState and it returns a null value which is then used. It's probably a good idea to think about a way that avoids using ViewState.

View 1 Replies

AJAX :: UpdatePanel Postback And Resulting ViewState?

Sep 10, 2010

I'm reading about the UpdatePanel and how it interacts with controls inside & outside of it.

My understanding is that the usual ASP.Net pipeline takes place when posting from within an UpdatePanel-- Page load etc all fire off as normal-- except when the prerendering stage is reached. In that case the ScriptManager does a final check and only renders those controls within the UpdatePanel and skips the rest. That's my understanding at least.

Sounds good, but for argument's sake let's say I have a TextBox located outside an UpdatePanel. If a postback occurs from within that panel, the TextBox's properties can still be set in the page load method, but those changes will not take effect. (normally; it is possible to postback the entire page from an UpdatePanel)

Is that correct? What happens to that TextBox's ViewState in this instance? Is it updated based on what happened to it in the page load method or is that modification tossed out because it wasn't in the UpdatePanel?

View 6 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved