-
LinkedIn has an extensive API designed to access almost every aspect of the site. Developers can access People and Connections, Groups, Companies, Jobs, Social Stream, Communications and more. There are two types of LinkedIn APIs: JavaScript based and REST based with the ability to connect the two. For...
-
Keeping users passwords in your database is a part of almost every application, yet securing passwords is rarely being done correctly. I recently read an article by Coda Hale about the ineffectiveness of password salts. Coda Suggested using bcrypt to store passwords. He reasoned his argument by explaining...
-
System.Web.DataVisualization contains 34 types of charts. The most common of them is the Column chart on which I already blogged about in Display a sales chart with ASP.NET Chart control and Linq to SQL . Today I am going to take our sales chart one step further and display the top selling products for...
-
Session variables hold per user information. Unlike cookies, sessions store information on the server rather than on the client. The client holds a session cookie with the client’s session ID and at the time of an HTTP request, the server accesses the client’s session ID and retrieves the...
-
Excel represents documents using Office Open XML (OOXML), a zipped XML based format developed for spreadsheet and chart representation. In this article I am going to demonstrate parsing an Excel spreadsheet and loading the data into a generic List. OOXML was incorporated into Office in 2007 therefore...
-
In email marketing, sending customized emails is a common practice. Emails containing special offers, shopping cart items or any other dynamic content, are usually tailored to the individual and are being sent either by request or as a part of a marketing campaign. This presents a challenge since email...
-
If you ever got the error message “The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. “ you are probably aware that there is no practical...
-
If you ever needed a simple logger and did not want to deal with the complexity of configurating Log4net or the enterprise library you might find this class useful. This is a single class, single file rolling file appender. Usage: To use this logger all you need to do is either add the class to your...
-
A major part of any SOA implementation is the ability to return multiple data formats and while SOAP still plays a major role in SOA, the need for RSS syndication, JSON and plain XML may require you to add new functionality and steer away from traditional WCF RPC calls. With OData enabled services you...
-
System.Web.ClientServices.Providers contains client service providers that support remote access to the Microsoft Ajax authentication, roles, and profile services. Today we will be looking at a common use case and solve it using client application services. We have a remote website containing the default...
-
System.IO.Packaging provides storage support for multiple data objects in a single container. System.IO.Packaging uses the ZIP file format as its primary physical format for a Package. Other Package implementations might use an XML document, a database, or Web service. The following contains a utility...
-
I received many responses to my blog post about the ten basic rules of enterprise systems design . I have been asked repeatedly: “How can you separate systems into slices?”, “How do you make a good pull system?”, and most importantly, “How do you take the load off IIS and...
-
I was reviewing a function yesterday designed to remove non numeric characters from a string and it seemed a little slow so I rewrote it and sent the modified version around the office. I guess I spiked some interest because the amount of versions I got back was staggering. Programmers love this sort...
-
Deep copy is the process of cloning a complete object into new object of the same type. All of the member values are being copied into new memory addresses and the clone will not be effected by any changed to the original object. If you need to perform a partial deep clone, a cloning method that simply...
-
A Repeater, as we all know is the fastest of the data bound controls. It does not include any UI elements or even paging. This allows it to be light and fast. What happens if even the Repeater is too heavy for our app? It’s simple, let’s write our own repeater. The first step in our Repeater...