BinaryFormatter Version incompatibility. Expected Version 1.0. Received Version 1634552164.1866884455
I have a three tiered WinForm application that uses Microsoft .NET Remoting Framework via a HTTP channel formatted in binary to communicate commands from the client to the server. Every so often when I am making changes to the system I will received the following error:
BinaryFormatter Version incompatibility. Expected Version 1.0. Received Version 1634552164.1866884455
I can't begin to tell you how much I hate this error. It is completely useless. I would rather the error message said "Unknown error" instead of miss leading you into thinking there is something more meaningful or helpful in the message. This message simply tells you that there is a problem that needs to be fixed. After many battles with this particular error message I came across a useful trick. I use the following XML in an configuration file the .Net remoting:
<configuration>
<system.runtime.remoting>
<application>
<channels>
<channel ref="http" useDefaultCredentials="true">
<clientProviders>
<formatter ref="binary" />
</clientProviders>
</channel>
</channels>
</application>
</system.runtime.remoting>
</configuration>
To receive a meaningful error message I change the binary format to soap by changing <formatter ref="binary" /> to <formatter ref="soap" />. SOAP error messages are descriptive and can tell you what is going on with the connection. Once I resolve the issue, I switch the formatter back to binary and my application magically works again.
For more information about .Net remoting visit http://msdn.microsoft.com/en-us/library/ms973864.aspx.
SharePoint 2010 Has Been Released To Manufacturing!
As of Friday April 16th, Office 2010, SharePoint 2010, Visio 2010 and Project 2010 have been released-to-manufacturing (RTM)! This means the beta testing is complete and the software is ready to be manufactured so it can be put on store shelves soon. Volume License customers with active Software Assurance (SA) will be the first to receive the 2010 products from the Volume Licensing Service Center starting April 27. The Microsoft Office 2010 Engineerings web site says that Office will be available in US stores in June. Hopefully SharePoint 2010 will be available in June as well. Check out the official blog postings on the Microsoft SharePoint Team Blog and Microsoft Office 2010 Engineerings.
Visual Studio 2010 and .NET 4.0 Released Today
Visual Studio 2010 and .NET 4.0 are being released today. You can watch the online lunch event at http://www.microsoft.com/visualstudio/en-us/watch-it-live/. You can download a full 90 day trail version of Visual Studio 2010 Premium and Ultimate from http://www.microsoft.com/visualstudio/en-us/download. You can also download Visual Studio 2010 Express which is a set of free, but limited version of Visual Studio 2010 at http://www.microsoft.com/express/Windows/. Let the fun begin!
HTML 5
Still under development, HTML5 is the next major revision of HTML (HyperText Markup Language) and is intended to replace HTML4, XHTML1, and DOM2 HTML specifications. The Web Hypertext Application Technology Working Group (WHATWG) started work on the specification in June 2004 and in October 2009 the specification entered "Last call for comments" stage which means the draft is nearly complete pending feedback from contributors. It is estimated by WHATWG that HTML5 will reach the W3C Candidate Recommendation stage during 2012, but will already be in use long before 2012. Microsoft has already started implementing parts of HTML5 in IE8 and is building IE9 around HTML5 specification (See Microsoft IE9 Platform Preview for more information).
The aim of HTML5 is to enhance the HTML, XML markup language, and define many APIs to form the basis of Web architecture. The following are new elements have been introduced to the HTML5 markup language that can be found on www.w3.org:
- section represents a generic document or application section. It can be used together with the h1, h2, h3, h4, h5, and h6 elements to indicate the document structure.
- article represents an independent piece of content of a document, such as a blog entry or newspaper article.
- aside represents a piece of content that is only slightly related to the rest of the page.
- hgroup represents the header of a section.
- header represents a group of introductory or navigational aids.
- footer represents a footer for a section and can contain information about the author, copyright information, et cetera.
- nav represents a section of the document intended for navigation.
- figure can be used to associate a caption together with some embedded content, such as a graphic or video.
- video and audio for multimedia content. Both provide an API so application authors can script their own user interface, but there is also a way to trigger a user interface provided by the user agent.
- source elements are used together with these elements if there are multiple streams available of different types.
- embed is used for plugin content.
- mark represents a run of marked text.
- progress represents a completion of a task, such as downloading or when performing a series of expensive operations.
- meter represents a measurement, such as disk usage.
- time represents a date and/or time.
- ruby, rt and rp allow for marking up ruby annotations.
- canvas is used for rendering dynamic bitmap graphics on the fly, such as graphs or games.
- command represents a command the user can invoke.
- details represents additional information or controls which the user can obtain on demand. The summary element provides its summary, legend, or caption.
- datalist together with the a new list attribute for input can be used to make comboboxes.
- keygen represents control for key pair generation.
- output represents some type of output, such as from a calculation done through scripting.
HTML5 also intends to reduce the needs for third party plugs such as Microsoft Silverlight, Adobe Flash, and Sun JavaFX by providing APIs that allow video and audio to be easily embedded in HTML and by providing canvas tags to allow immediate 2D rendering. The following new APIs can be found currently in the HTML5 specification:
- Microdata: is an API for embedding HTML syntax to create machine-readable semantic markup about objects.
- 2D Context: an APU for creating a flat Cartesian surface which can be used for rendering graphs, game graphics, or other visual images on the fly.
- Cross-document messaging: is an API for a messaging system that allows documents to communicate with each other regardless of their source domain in a way designed to not enable cross-site scripting attacks.
- Channel messaging: is an API for an asynchronous messaging system that allows independent pieces of code to communicate directly sending messages in one port and delivered at the other port.
- Device Element: represents a device selector that allows a user to give the page access to a device such as chatting via a video camera.
- Web Workers: is an API for running long-running scripts that are not interrupted by scripts that respond to clicks or other user interactions. These independent background scripts allow long tasks to be executed without yielding to keep the page responsive.
- Web Storage: is an API for adding data to the session storage and it will be accessible to any page from the same site opened in that window.
- Web Sockets API: enables Web applications to maintain bidirectional communications with server-side processes.
- Web Sockets Protocol: enables two-way communication between a user agent and a remote host via a single TCP connection that allows traffic in both directions.
- Server-Sent Event: is an API for opening an HTTP connection for receiving push notifications from a server in the form of DOM events.
For more information about HTML5 visit HTML5.org, A Web Developer’s Guide to HTML 5, The WHATWG Blog, HTML5 Quick Reference Guide, HTML5 differences from HTML4, HTML5: The Markup Language, 20 Essential Things to Know About the HTML5 Web Language, Dive into HTML 5, Planet HTML5, When can I use features in HTML5, CSS3, SVG and other upcoming web technologies, and HTML5 Doctor.
Microsoft IE9 Platform Preview
The Microsoft Internet Explorer (IE) 9 Platform Preview is an early look at how HTML5, CSS3, and a new JavaScript engine, codenamed Chakra, will affect how we build websites in the near future. The IE9 Platform Preview is not a full web browser and is intended for developers to test and debug their work within this new technology. It does not include an address bar, a back button, anti-phishing or malware protection, but has the ability to render HTML5, CSS3, and run the Chakra JavaScript engine. The IE9 Platform Preview can be downloaded at http://ie.microsoft.com/testdrive/info/ThankYou/Default.html. Microsoft intends to release a new version of Internet Explorer Platform Preview approximately every 8 weeks.
It is important to note that when IE9 comes out in the not so distance future that Microsoft will likely have to issue a service pack for SharePoint 2010. Although HTML5 is said to be defined in a way that it is backwards compatible with the way user agents handle deployed content, I noticed through my limited testing that some SharePoint 2010 features did not always render correctly.
For more information about the Microsoft Internet Explorer (IE) 9 Platform Preview visit Internet Explorer 9: Platform Demos, IE Blog, Windows Internet Explorer Testing Center, IE9 Platform Preview FAQ, Internet Explorer 9 Platform Preview User Guide, Release Notes, and Internet Explorer Platform Preview Guide for Developers. For information about HTML5 visit my post at http://www.the14folder.com/2010/04/07/html-5/.
