Past two days I was so upset with my computer that whenever I tried running my workflow xamlx,it started throwing exception “A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections” .It was then I realized that my recent effort to install SQL Express 2012 has messed up my SQL Express 2008 with VS 2010.I tried to repair,remove,add etc options inorder to get my SQLExpress back & get my workflow back to normal.No luck & I was almost at the verge of crying thinking about what the admin guys are going to tell me if I take my computer to them “Just Re-image the machine,that’s the only thing we can do” .Today evening inspite being a holiday and a having bad cold,i decided to give a try once again if I can do something.I knew that if I delete the entries of SQLServer from registry it may help.My hubby darling was advicing me saying you are gonna mess up your windows as well if you play with registry.I wanted to listen to him,but I thought if I have to reimage the system next morning,there is nothing wrong in playing with registry.Here is what I did & that infact successfully helped me install SQLExpress 🙂
1) Open Run Menu and type regedit to open Registry Editor
2)Go to following location.
HKEY_LOCAL_MACHINE > Software > Microsoft > Microsoft SQL Server > 90
3)Remove Registry Key 90.

I manually removed the SQLServer instances from Control Panel\All Control Panel Items\Programs and Features and after that I ran visual studio setup and installed Microsft SQL Express.It got installed successfully & I could run my workflow after that :)It was worth giving a try.Eureka!!

Today I was having a look at one of our WCF Restful projects.To start with the code understanding,I decided to host that in my local host and then take a look.To my surprise,I was unable get a svc url as we usually get, for example: http://wordpress.com/Service1.svc .Digging further I realized, being a wcf restful service it’s not ideal having an extension this way and it has been achieved through System.Web.Routing integration .Routing allows to host a WCF restful service that responds to URIs without an extension .Cool right?It’s a new feature with .Net 4.0.I am avoiding a rewriting of an example code here as msdn has got a beautiful simple explanation over here.Take a look!

There is no context attached to the incoming message for the service and the current operation is not marked with “CanCreateInstance = true”.In order to communicate with this service check whether the incoming binding supports the context protocol and has a valid context initialized

If you run into exception,it clearly says current operation is not marked with CanCreateInstance = true,it means the first receive activity in the workflow is supposed to have CanCreateInstance = true property set,otherwise the workflow cannot activate.Hope this tip helps 🙂

My previous post,I have given a small tip on how to get the page url in code behind from ASP.net,this one is to get the same url from a WCF service.

public string IM_Ping()
{
System.Uri uri = System.ServiceModel.OperationContext.Current.IncomingMessageHeaders.To;
return uri.AbsoluteUri;
}

Output:

http://localhost:42468/Restful.svc/v1/IM_Ping

Another small tip for you 🙂 Sometimes when you have your web page hosted on multiple servers,you may want to get the complete url of the loaded page from the code behind.Below code can help you get the complete path.

Request.Url.AbsoluteUri

Today’s post is a small code snippet for you to write byte array to an xml file using FileStream and Binary Writer class’s Write method.Hope this helps 🙂

private void ByteArrayToFile(string fileName, byte[] byteArray)
{
FileStream fs = new FileStream(fileName + ".xml", FileMode.Create, FileAccess.ReadWrite);
BinaryWriter bw = new BinaryWriter(fs, Encoding.Unicode);
bw.Write(byteArray);
bw.Close();
fs.Close();
}

Sharing a small tip here.If you want to check whether the OracleClob Parameter value from database is null or not and assign value,make use of the IsNull property as below.

if (!((OracleClob)(command.Parameters[2].Value)).IsNull)
{
OracleClob clob = (OracleClob)command.Parameters[2].Value;
}