Web Forms :: Serialize And Deserialize An Object Using SilverLight?
Jul 8, 2010I'd like to serialize and deserialize an object using SilverLight.
View 2 RepliesI'd like to serialize and deserialize an object using SilverLight.
View 2 RepliesI have a custom Javascript object that has a few string and float members. I'd like to serialize an array of them in Javascript, assign the result to a hidden field, and then retrieve and deserialize them in the codebehind for my asp.net application.
View 3 Repliesi need to serialize and deserialize an image for my project. i have been googling it for a few days but i cannot find any VB codes related to image serialization... can someone give me some hints on how i should start?? for my program, i need to save the image to sql database and then i need to retrieve all the image for my product catalog
View 2 RepliesI'm trying to save a custom class in a session, but it just never gets saved, along with other sessions. Note that my SessionMode = STATESERVER, and i cannot change it to INPROC as per our business requirement. This is my class
/*******START*******/
[Serializable]
public class User : ISerializable
{
private int _userId;
public int UserId
{
get { return _userId; }
set { _userId = value; }
}
//custom class
private TDB.tdbUser _tdbUserDetails;
public TDB.tdbUser tdbUserDetails
{
get { return _tdbUserDetails; }
set { _tdbUserDetails = value; }
}
//collection of custom class Sites
private List<Sites> _assignedSites;
public List<Sites> AssignedSites
{
get { return _assignedSites; }
set { _assignedSites = value; }
}
public User()
{
//Constructor code
}
/******SERIALIZATION*****/
protected User(SerializationInfo info, StreamingContext context)
{
this._userId = (int)info.GetValue("_userId", typeof(int));
this._assignedSites = (List<Sites>)info.GetValue("_assignedSites", typeof(List<Sites>));
this._tdbUserDetails = (TDB.tdbUser)info.GetValue("_tdbUserDetails", typeof(TDB.tdbUser));
}
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.SerializationFormatter)]
void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("_userId", this._userId);
info.AddValue("_assignedSites", this._assignedSites);
info.AddValue("_tdbUserDetails", this._tdbUserDetails);
}
}
/*******END*******/
The calling code is just this: (User)HttpContext.Current.Session["TDBUSER"];
What would be the best way to deserialize this
Dictionary<string, object>{
{"fName", "John"},
{"lName", "Doe"},
{"email", "john@doe.net"}
}
to this
class Member{
string fName;
string lName;
string email;
}
We are trying to consume WCF service which returns employee details in JSON Format.
like:
{"d":[{"_type":"Employee:#","BigThumbNailURI":null,"ID":1,"Name":"E1"},{"_type":"Employee:#","BigThumbNailURI":null,"ID":2,"Name":"E1"}]}
From VB.net code behind when I am trying to deserialize it it's stating that
"Expecting state 'Element'.. Encountered 'Text' with name '', namespace ''."
Deserialization code snippet:
Dim serializer = New DataContractJsonSerializer(GetType(List(Of Employee)))
Dim memoryStream = New MemoryStream()
Dim s = msg.Content.ReadAsString()
serializer.WriteObject(memoryStream, s)
memoryStream.Position = 0.......
Here is the scenario;
1. I have a desktop application that utlizies a Binary field to store data about a quote
2. I have a Web Application that manages this program and the 50+ users.
3. This web application now stores in a SQL Database this Binary information and related information
4. I can successfully open any of these binary fields up from any of my users from my application.
5. I need the Web Application to open these up to be able to report on them, however I get the following error
Unable to find assembly '*******, Version=1.1.16.14, Culture=neutral, PublicKeyToken=null'.
Below is the code I use to serialize
[Code]....
Below is the code I use to deserialize
// Deserialize the quote data from the database data
Wondering how to deserialize the following string in c#:
"[{"access_token":"thisistheaccesstoken"}]"
I know how to do it if the json was:
"{array=[{"access_token":"thisistheaccesstoken"}]}"
I'd do it like this:
public class AccessToken
{
public string access_token {get;set;}
public DateTime expires { get; set; }
}
public class TokenReturn
{
public List<AccessToken> tokens { get; set; }
}
JavaScriptSerializer ser = new JavaScriptSerializer();
TokenReturn result = ser.Deserialize<TokenReturn>(responseFromServer);
I had an xml-serialization which worked fine, but as I have just knew it doesn't work in Opera browser. I think, it's security rules don't allow to write to cookies xml-content.What can I do? Can I use binary serialization or something else?
View 2 RepliesWhy to Serialize an object to store in ViewState?
View 1 RepliesI would like to serialize the properties of the HttpBrowserCapibilities object so that it may be returned via a web method call. Currently the object cannot be serialized:Cannot serialize member System.Web.Configuration.HttpCapabilitiesBase.Capabilities of type System.Collections.IDictionary, because it implements IDictionary. ...which is understandable. However, I would like to simply copy out the properties and their values to a hierarchy, i.e.
<HttpBrowserCapabilities>
<IsMobile>true</IsMobile>
</HttpBrowserCapabilities>
I'm starting to think I would need to use reflection to copy this object, but I haven't reached a conclusion. Does anyone have any suggestions to keep this simple?
I'm in the process of deserializing a JSON object into an Entity Framework object. The property names in the JSON do not match up totally with the property names in the Entity Framework Objects. What I'd like to do is set "Name=" on the "DataContractAttribute" for the table and the "DataMemberAttribute" for the properties in the Designer.cs file. I tried setting these in the Designer.cs file manually just to see if it would work - which it did (using JSON.Net) but of course when I went into the .edmx designer I lost all my changes. Is there a way to do this?
View 1 Repliespublic class Package
{
public Package()
{
name = "";
type = new List<Dictionary<string, string>>();
}
public string name { get; set; }
public List<Dictionary<string, string>> type { get; set; }
}
[code]...
First, we are constrained to using an existing web framework that handles authentication and authorization. The web project uses forms authentication and writes to an encrypted cookie. The user information is exposed to the aspx pages as a property:
LoggedInUser.Current
This has several properties including the userId and role list.
I've looked at using initParams, but haven't been very successful there (edit: I couldn't do it dynamically originally). I've created a simple POCO entity with a [Key] attribute, but I need to at least be able to pass the userId from the aspx page to the imbedded silverlight.
What is the easiest way to pass a dynamic object from aspx to silverlight 4?
[Code]....
Then used Slugster's example to use the values on the Silverlight side.
Warning: Passing user information via init params exposes the info as plain text to the user viewing the page (they just have to view the source). We ended up using an authentication domain service and using the same user object as the aspx
I have the following Silverlight control defined:
[Code]....
I have exposed the following method in my Silverlight control (Page.xaml.cs) to be accessible to Javascript:
[ScriptableMember]
public bool HasPendingUpdates()
{
return btnSave.IsEnabled;
}
I then have a Javascript test function in my aspx page that is trying to do something with it:
var imageViewer = $("#objImageViewer")[0];
if (imageViewer.Content.Page.HasPendingUpdates())
{
alert("Pending Changes Exist!");
}
else
{
alert("NO Pending Changes Exist!");
}
Problem is that it fails after the Content object. I have tested the following:
var imageViewer = $("#objImageViewer")[0];
imageViewer // Valid
imageViewer.Content // Valid
imageViewer.Content.Page // Invalid
imageViewer.Content.HasPendingUpdates() // Invalid
So I am not sure what I am doing wrong. How do I get to the function within Content?
I am using IE8, Silverlight 3, ASP.NET. The silverlight control is created with the object tag as I don't think the control is an option in Silverlight 3+.
I am new to silverlight and I am wondering if it is possible to access silverlight object data from the aspx page that host it. Or have silverlight write to a hidden field on the page on client side.
What I am trying to do is to use silverlight to upload file via WCF (client to WCF Service directly instead of posting data back to the web server then forwarded to WCF service). When uploading a large file, user can still do some data entry etc. And once the upload is done have it write some data return by the WCF service to the aspx's hidden field and postback to the server on submit.
I have an object on my asp.net page hosting a Silverlight xap (in my particular case it is in an IFrame, but I'm curious about regular objects as well). I can find the element in UI Spy, but the name just says "Silverlight Control". Trying to find that AutomationElement in my automated test is unsuccessful (control is null every time). Is there a setting in the Silverlight code or in the html that would help? How can I distinguish it if there are multiple Silverlight controls on the same page?
<object id="silverlightClient" style="display:none;" data="data:application/x-silverlight-2," type="application/x-silverlight-2">
<param name="source" value="../../ClientBin/SilverlightApplication.xap"/>
<param name="onerror" value="onSilverlightError" />
<param name="background" value="#00000000" />
<param name="minRuntimeVersion" value="4.0.41019.0" />
<param name="autoUpgrade" value="true" />
<param name="windowless" value="false" />
</object>
TreeWalker tw = new TreeWalker(new System.Windows.Automation.PropertyCondition(AutomationElement.NameProperty, "Silverlight Control));
AutomationElement control = tw.GetFirstChild(ancestor);
UI Spy
Identification
ClassName: "MicrosoftSilverlight"
ControlType: "ControlType.Window"
Culture: "(null)"
AutomationId: "71857844"
LocalizedControlType: "window"
Name: "Silverlight Control"
ProcessId: "7636 (iexplore)"
RuntimeId: "42 2163886"
IsPassword: "False"
IsControlElement: "True"
IsContentElement: "True"
EDIT: added image, I also realized that the object is inside of an IFrame. UISpyImage - title name removed
i Want to Deserailize the follwing Json Using "foreach" loop to seperate each row from above JSON how to do it in C# ?
{ "Data":[ {
"id":"1", "Name":"Sachin" }, {
"id":"2", "Name":"Rahul" }, {
"id":"3", "Name":"Sovrav" } ]}
public class SocialFriends
{
public string id { get; set; }
public string name { get; set; }
}
this is my Class.
List<SocialFriends> oList2 = ser.Deserialize<List<SocialFriends>>(response.Content);
I'm getting data's like this. But it returns 0 data :S
Data is here
{"data":[{"name":"George","id":"511222445"},{"name":"Mayk","id":"517247768"}]}
to be able to send a XmlSerializer class (which is generated obvious in remote C# application) over a WebService that will then deserialize it into a class. (I didnt know it its possible either)
XmlSerializer mySerializer = new XmlSerializer(typeof(SystemInfo));
StreamWriter myWriter = new StreamWriter(textBox1.Text);
mySerializer.Serialize(myWriter, sysinfo);
[WebMethod]
public void Reports(XmlSerializer xmlSerializer)
I've been struggling with this issue for a while. I'm trying to send an object to the client. Once the client updates the object I'd like to post it back to the server and save it in my database. The first part works fine. However, when I send it back all the dates are messed up and start for year 0001. I assume that's because it can't deserialize the date. Howe can I post a json object with a date property and deserialize it into a type on the server with asp.net mvc 3? group is
public class Group
{
public Group();
public string CreatedBy { get; set; }
public DateTime CreatedOn { get; set; }
public string Description { get; set; }
public string Name{ get; set; }
public string Status { get; set; }
public string UpdatedBy { get; set; }
public DateTime UpdatedOn { get; set; }
}
while
public JsonResult updateGroup(Group group)
{
var result = Repository.updateGroup(group);
return Json(result, JsonRequestBehavior.AllowGet);
}
and on the client I got
$.ajax({
url: '../updateGroup',
type: 'POST',
data: JSON.stringify(group),
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function(){ success(); }
});
I am using Json.Net however when I go to deserialize the following json I get that Json cannot deserialize to type List.
Json:
{"postalCodes":[{"adminName2":"New York","adminCode2":"061","adminCode1":"NY","postalCode":"10001","countryCode":"US","lng":-73.996705,"placeName":"New York City","lat":40.74838,"adminName1":"New York"},{"adminName2":"New York","adminCode2":"061","adminCode1":"NY","postalCode":"10019","countryCode":"US","lng":-73.985834,"placeName":"New York City","lat":40.765069,"adminName1":"New York"},{"adminName2":"New York","adminCode2":"061","adminCode1":"NY","postalCode":"10021","countryCode":"US","lng":-73.958805,"placeName":"New York City","lat":40.768476,"adminName1":"New York"},{"adminName2":"New York","adminCode2":"061","adminCode1":"NY","postalCode":"10022","countryCode":"US","lng":-73.965703,"placeName":"New York City","lat":40.757091,"adminName1":"New York"},{"adminName2":"New York","adminCode2":"061","adminCode1":"NY","postalCode":"10036","countryCode":"US","lng":-73.991826,"placeName":"New York City","lat":40.759724,"adminName1":"New York"},{"adminName2":"New York","adminCode2":"061","adminCode1":"NY","postalCode":"10065","countryCode":"US","lng":-73.96379,"placeName":"New York City","lat":40.76507,"adminName1":"New York"},{"adminName2":"New York","adminCode2":"061","adminCode1":"NY","postalCode":"10003","countryCode":"US","lng":-73.989223,"placeName":"New York City","lat":40.731253,"adminName1":"New York"},{"adminName2":"New York","adminCode2":"061","adminCode1":"NY","postalCode":"10010","countryCode":"US","lng":-73.981328,"placeName":"New York City","lat":40.737476,"adminName1":"New York"},{"adminName2":"New York","adminCode2":"061","adminCode1":"NY","postalCode":"10011","countryCode":"US","lng":-73.99963,"placeName":"New York City","lat":40.740225,"adminName1":"New York"},{"adminName2":"New York","adminCode2":"061","adminCode1":"NY","postalCode":"10012","countryCode":"US","lng":-73.998284,"placeName":"New York City","lat":40.72553,"adminName1":"New York"}]}
code:
[code]....
I have a simple class in asp.net mvc that looks like this:
[code]...
It deserializes it so I have to reference everything by index first, because of the list. So if I had a property called "IsValid" I would have to reference it like this "IsValid[0]". I have way too much javascript code to make these changes.How could I deserialize the JsonResponseItem class so I don't need the index reference in there?
I have
[ServiceContract]
public interface IBusiness
{
[OperationContract][code]....
Add client: [Code]....
But......... the result
Error:The server encountered an error processing the request. The exception message is 'The formatter threw an exception while trying to deserialize the message: Error in deserializing body of request message for operation 'UpdateLanguage'. The token '"' was expected
but found '''.'. See server logs for more details. The exception stack trace is:
at System.ServiceModel.Dispatcher.OperationFormatter.DeserializeRequest(Message message, Object[] parameters) at System.ServiceModel.Dispatcher.DemultiplexingDispatchMessageFormatter.DeserializeRequest(Message message, Object[] parameters) at System.ServiceModel.Dispatcher.UriTemplateDispatchFormatter.DeserializeRequest
I am trying to retrieve SessionItemShory column for given sessionid.The data stored is serialized so we need to deserialize the data to use it.I am trying to do that but its not working.
[Serializable]
public class sessiondata {
public string username { get; set; }
public string country { get; set; }
public string city { get; set; }
[code]...