Thursday, December 27, 2012

testing UI

MVC enables separation of concerns for testing and helps with UI testing but there is still so much to do with UI testing

Wednesday, December 26, 2012

BLOB vs FileStream storage

There's quite a few differences between using BLOB and FILESTREAM and as a rule of thumb if the sizes are small, we could go with BLOB.

Monday, December 24, 2012

study material

The best way for me to review study materials is to take the practice test questions especially for standardized tests.

Saturday, December 22, 2012

Amazing literature

If  you want to read on the textbook literature, there's some incredible online content from academia

Tuesday, December 18, 2012

SOAP 1.1. vs SOAP 1.2

SOAP 1.2 is backward compatible with SOAP 1.1
provides better interoperability
provides better xml information set
gives developers protocol independence
includes HTTP binding
has better more formalized extensibility
has better support for web standards

MVC3 - razor views and aspx

MVC3 facilitates strongly typed views with its cshtml and models but there's also a feature to use native asp.net aspx pages for rendering the views, so long as the master and model are specified. You can look for this option when creating a view and selecting a drop down for aspx instead of cshtml.

Monday, December 17, 2012

MVC3 and download files

I have come across several ways to have a web server allow files to be downloaded by clients. Some of these involve exposing a public method like this:
[WebMethod]
public void DownloadFile();

where the Response is populated with the bytes of the file contents.

But MVC makes it even easier with FileContentResult return type.

                if (System.IO.File.Exists(responseFile))
                {
                    using (var reader = new System.IO.StreamReader(file.FullName))
                        return new FileContentResult(System.IO.File.ReadAllBytes(file.FullName), "application");
                }

Thursday, June 21, 2012

Byte Range Locking

File Systems may implement byte range locking to enable concurrent access. Typically, they are not supported by File mapping operation. Poor use of file locks can result in performance issues or deadlock.