Friday, March 30, 2012

Serialize and DeSerialize an object to a file in C#

Here is the code for serialization:

/// <summary>
/// Function to save object to external file
/// </summary>
/// <param name="_Object">object to save</param>
/// <param name="_FileName">File name to save object</param>
/// <returns>Return true if object save successfully, if not return false</returns>
public bool ObjectToFile(object _Object, string _FileName)
{
try
{
// create new memory stream
System.IO.MemoryStream _MemoryStream = new System.IO.MemoryStream();

// create new BinaryFormatter
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter _BinaryFormatter
= new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();

// Serializes an object, or graph of connected objects, to the given stream.
_BinaryFormatter.Serialize(_MemoryStream, _Object);

// convert stream to byte array
byte[] _ByteArray = _MemoryStream.ToArray();

// Open file for writing
System.IO.FileStream _FileStream = new System.IO.FileStream(_FileName, System.IO.FileMode.Create, System.IO.FileAccess.Write);

// Writes a block of bytes to this stream using data from a byte array.
_FileStream.Write(_ByteArray, 0, _ByteArray.Length);

// close file stream
_FileStream.Close();

// cleanup
_MemoryStream.Close();
_MemoryStream.Dispose();
_MemoryStream = null;
_ByteArray = null;

return true;
}
catch (Exception _Exception)
{
// Error
Console.WriteLine("Exception caught in process: {0}", _Exception.ToString());
}

// Error occured, return null
return false;
}

 

 

 

Here is the code for deserialize the object:

 

public object FileToObj(string _fileName)
{
FileStream fs = new FileStream(_fileName, FileMode.Open);


// create new BinaryFormatter
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter _BinaryFormatter
= new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();

// Serializes an object, or graph of connected objects, to the given stream.
return _BinaryFormatter.Deserialize(fs);
}

Wednesday, March 7, 2012

Checking availibility of WCF service

I've got one method from the book "Programming WCF Services" by Juval Lowy (page 71).
Code Snippet:




   MetadataExchangeClient mexClient =

bool isServiceUp = true;
try
{
string address = "http://localhost/MyService.svc?wsdl";new MetadataExchangeClient(newUri(address), MetadataExchangeClientMode.HttpGet);
MetadataSet metadata = mexClient.GetMetadata();
// if service down I get the exception
}
   catch (Exception ex)
{
isServiceUp =
false;
}

I catch the Exception like {"Metadata contains a reference that cannot be resolved: "http://localhost/MyService.svc?wsdl"} System.Exception {System.InvalidOperationException}

Thursday, March 1, 2012

Get or Set Session in ashx handler

If you need to share session in ashx handler just use System.Web.SessionState.IRequiresSessionState this Interface

 

Like

public class login : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
......

}

What is DaemonSet in Kubernetes

 A DaemonSet is a type of controller object that ensures that a specific pod runs on each node in the cluster. DaemonSets are useful for dep...