Go Back to VEDPWebs Landing Page

Note: This readMe.html file contains Application Level information.

Please view the various sub folders for additional readme.md files


Todo: Add overview


IIS / Routing

This application implements "Friendly URL's". This is acheived through a combination of technologies:

This site requires HTTPs via SSL. See the following link on how to setup and configure you development box to use a Self-Signed Certificate and bind it to the Web API on port 443

Entity Framework

To use Entity Framework Transactions w/ multiple context (if they are from different databases) you need to enable Microsoft Distributed Transaction Coordinator ( MSDTC ) on the DB Server. See: EF Transactions also see : Working w/ Transactions (EF6 Onwards)


Todo: Add explaination of how to connect to SVN server to download the application

HTTP Request & Response Caching and ETag support

The VEDPWeb Web API utilizes NuGet packages from CacheCow. CacheCow is a library for implementing HTTP caching on both client and server in ASP.NET Web API. It uses message handlers on both client and server to intercept request and response and apply caching logic and rules

Caching is configured in the WebApiConfig.cs file. A CacheHandler is created and injected into the HTTP Requests and Responses pipelines to handle caching (if caching is enabled). The CacheHandler looks for Requests that have if If-Match & If-None-Match, will push responses w/ ETags into the cache.

Since we have plans to deploy to the Azure expandable environment, I have choosen to utilize SQL Sever persistance over the more volatile 'in memory' persistance model. To that end we have created a new database 'VEDPWebCache' for this task.

Google Translate and Google Custom Search Engine (gcse) version 2

Note: The Google Translate dropdown in Firefox requires Flash to be installed and enabled. Otherwise, when the dropdown is click you will only see “Select Language” and not a list of languages.

Twitter Bootstrap version 3

Note: Some third party software, including Google Maps and Google Custom Search Engine, conflict with Bootstrap due to * { box-sizing: border-box; }, a rule which makes it so padding does not affect the final computed width of an element. Learn more about box model and sizing at CSS Tricks. For more info goto :http://getbootstrap.com/getting-started/ and review the "Third Party Support" section.

(rls note: Installed and tested but not currently used) Exporting via WebApiContrib.Formatting.Xlsx

This library worked for outputting a result set to excel; however, we needed to include footer notes along with the data and I could not quickly determine how to perform this so I migrated the existing export code and reworked for the new Web Api 2 controller. For info about WebApiContrib.Formatting.Xlsx exporting, see: http://webapicontrib.github.io/WebApiContrib.Formatting.Xlsx/