Thursday, April 14, 2005

C# Course day four

Wow. The Serialization and Remoting functionality in C# looks just like Serialization and RMI in Java.


  • Serialization is marked with an attribute [Serializable]
  • Have the option of Serializing to XML (with a SOAP flavour)
  • Remoting has the option of using HTTP, XML & SOAP or a binary protocol. Unfortunately the XML option isn't very interoperable with frameworks other than .NET.
  • use {WebService(Namespace=http://www.example.com/endpoint)] attribute for declaring web service
  • use [WebMethod] attribute for declaring exposed methods
  • Suggest creating a virtual directory in IIS before creating Web Service project in VisualStudio so that you can control where the IDE puts your files.
  • Can use WSDL.exe to read a wsdl XML file exposed through IIS to generate client proxies.
  • When adding reference in Visual Studio you can change a property of the reference to dynamic so that the URL is stored in a config file rather than in the C# code.

So to summarize:

  • .NET Remoting isn't getting much attention from MS
  • The Web Services available in Visual Studio are good for simple stuff without transactions, security, reliability, etc.
  • WSE 2.0 (Web Services Extensions) introduces transactions etc but there isn't and IDE support
  • WSE 3.0 still being defined
  • Indigo a MS term for their technology to make "serious" web services with transactions, security, etc. commonplace and easy to build with Visual Studio (1-1.5 years away)

No comments: