Re: BinaryFormatter.Deserialize
From: Igor (noone_at_hotmail.com)
Date: 10/12/04
- Next message: Pam Ammond: "RE: updating datagrid after returning"
- Previous message: Karunakararao: "Re: I am Getting Prboblem with Cultures In Windows XP Mechine"
- In reply to: Jon Skeet [C# MVP]: "Re: BinaryFormatter.Deserialize"
- Next in thread: Jon Skeet [C# MVP]: "Re: BinaryFormatter.Deserialize"
- Reply: Jon Skeet [C# MVP]: "Re: BinaryFormatter.Deserialize"
- Messages sorted by: [ date ] [ thread ]
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
- Next message: Pam Ammond: "RE: updating datagrid after returning"
- Previous message: Karunakararao: "Re: I am Getting Prboblem with Cultures In Windows XP Mechine"
- In reply to: Jon Skeet [C# MVP]: "Re: BinaryFormatter.Deserialize"
- Next in thread: Jon Skeet [C# MVP]: "Re: BinaryFormatter.Deserialize"
- Reply: Jon Skeet [C# MVP]: "Re: BinaryFormatter.Deserialize"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|