Re: BinaryFormatter.Deserialize

From: Igor (noone_at_hotmail.com)
Date: 10/12/04


Date: Tue, 12 Oct 2004 14:03:23 +0200


[Serializable()]
public class ApplicationInfo:IDisposable,ISerializable
{
private Guid session; // 16 bytes
private Guid sessionNW; // 16 bytes
private string ANI;
private string DNIS;
private string mqNW; // networking queue
private string parent;
private string child;
private string applicationQueue;
private int machineID;
private int boardID;
private int channelID;
private string applicationName = "";
public ApplicationInfo()
{
}
public ApplicationInfo(SerializationInfo info, StreamingContext ctxt)
{
session = (Guid)info.GetValue("session", typeof(Guid));
sessionNW = (Guid)info.GetValue("sessionNW", typeof(Guid));
ANI = (string)info.GetValue("ANI", typeof(string));
DNIS = (string)info.GetValue("DNIS", typeof(string));
mqNW = (string)info.GetValue("mqNW", typeof(string));
parent = (string)info.GetValue("parent", typeof(string));
child = (string)info.GetValue("child", typeof(string));
applicationQueue = (string)info.GetValue("applicationQueue",typeof(string));
applicationName = (string)info.GetValue("applicationName", typeof(string));
machineID = (int)info.GetValue("machineID", typeof(int));
boardID = (int)info.GetValue("boardID", typeof(int));
channelID = (int)info.GetValue("channelID", typeof(int));
}

public ApplicationInfo(string session, string sessionNW, string ANI, string
DNIS, string mqNW, string parent, string child, string applicationQueue, int
machine, int board, int channel, string applicationName)
{
this.session = new Guid(session);
this.sessionNW = new Guid(sessionNW);
this.ANI = ANI;
this.DNIS = DNIS;
this.mqNW = mqNW;
this.parent = parent;
this.child = child;
this.applicationQueue = applicationQueue;
this.machineID = machine;
this.boardID = board;
this.channelID = channel;
this.applicationName = applicationName;
}

#region IDisposable Members
public void Dispose()
{
// TODO: Add ApplicationInfo.Dispose implementation
}
#endregion

#region ISerializable Members
public void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("session", session);
info.AddValue("sessionNW", sessionNW);
info.AddValue("ANI", ANI);
info.AddValue("DNIS", DNIS);
info.AddValue("mqNW", mqNW);
info.AddValue("parent", parent);
info.AddValue("child", child);
info.AddValue("applicationQueue", applicationQueue);
info.AddValue("machineID", machineID);
info.AddValue("boardID", boardID);
info.AddValue("channelID", channelID);
info.AddValue("applicationName", applicationName);
}
#endregion
}

.........

ApplicationInfo app;
MemoryStream stream = new MemoryStream();
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, app);

MessageQueue mq = new MessageQueue(mqPath);
Message m = new Message(stream, new BinaryMessageFormatter());
mq.Formatter = new BinaryMessageFormatter();
mq.Send(m);

........

public void OnReceiveCompleted(Object source, ReceiveCompletedEventArgs
asyncResult)
{
try
{
MessageQueue mq = (MessageQueue)source;
Message m = mq.EndReceive(asyncResult.AsyncResult);
m.Formatter = new BinaryMessageFormatter();
incomingMessage(source, new
IncomingMessageEventArgs((object)m.BodyStream,false));
mq.BeginReceive();
}
catch(Exception ex)
{
Console.WriteLine(ex.ToString());
}
}

.....

public void OnIncomingMessage(object source, IncomingMessageEventArgs e)
{
BinaryFormatter formatter = new BinaryFormatter();
application = null;
application = (ApplicationInfo)formatter.Deserialize((Stream)e.getDocument);
}

"Jon Skeet [C# MVP]" <skeet@pobox.com> wrote in message
news:MPG.1bd5d2c68294d30898b681@msnews.microsoft.com...
> Igor <noone@hotmail.com> wrote:
>
> <snip>
>
> See http://www.pobox.com/~skeet/csharp/incomplete.html
>
> It would help if you didn't post the code in such a way that there's a
> blank line between each real line of code, too.
>
> --
> Jon Skeet - <skeet@pobox.com>
> http://www.pobox.com/~skeet
> If replying to the group, please do not mail me too



Relevant Pages

  • Re: BinaryFormatter.Deserialize
    ... > private Guid session; // 16 bytes ... > private string DNIS; ... > private string applicationQueue; ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: BinaryFormatter.Deserialize
    ... private string DNIS; ... public ApplicationInfo(string session, string sessionNW, string ANI, string ... DNIS, string mqNW, string parent, string child, string applicationQueue, int ...
    (microsoft.public.dotnet.languages.csharp)
  • Struts 1.2 - HTML:SELECT problem
    ... So the attribute members has data. ... private String staff_number; ... Session session = null; ...
    (comp.lang.java.programmer)
  • PROBLEM WITH TOMCAT APPLICATION AND SESSIONS LISTENERS
    ... HttpSessionAttributeListener { ... private String id, name, value, source, message = new String; ... private HttpSession session = null; ...
    (comp.lang.java.programmer)
  • Weird PropertyBag problem, values wont change
    ... CSession - Data storage class for a session. ... CSessions - Collection of CSession objects for all logged in users. ... Public Property Let ID(ByVal vData As String) ... Public Sub Remove ...
    (microsoft.public.vb.controls)

Loading