WebAPI Parameter binding under the hood
I wrote about WebAPI’s parameter binding at a high level before. Here’s what’s happening under the hood. The most fundamental object for binding parameters from a request in WebAPI is a...
View ArticlePer-controller configuration in WebAPI
We’ve just added support for WebAPI to provide per-controller-type configuration. WebAPI has a HttpConfiguration object that provides configuration such as: route table Dependency resolver for...
View ArticleStrong binding for CSV reader
I updated my open source CSV reader to provide parsing rows back into strongly typed objects. You can get it from Nuget as CsvTools 1.0.6. For example, suppose we have a CSV file “test.csv” like so:...
View ArticleConverting between Azure Tables and CSV
I published a nuget package (CsvTools.Azure) to easily read/write CSVs to azure blobs and tables. It builds on the CSV reader, also on Nuget (see CsvTools) and GitHub...
View ArticleReflection vs. Metadata
Here are some old notes I had about Reflection vs. the raw IMetadata Import interfaces. They’re from a while ago (before CLR 4.0 was shipped!), but still relevant. Better to share late than never!...
View ArticleAttributeUsage.Inherited flag
I found the documentation for AttribuetUsageAttribute to be very ambiguous, particularly regarding the Inherited property. Here’s a quick test on the behavior of the AttributeUsage.Inherited flag....
View Article$5000 in prizes at upcoming Hackathon
There’s a Hackathon at the Microsoft main campus on Dec 6th / 7th. $5000 in prizes, Free registration, and food is included! This is a 24-hour crash session to put your skills to use and go build some...
View ArticleHackathon tools
In light of the upcoming Hackathon , it’s worth noting there’s a lot of great free Microsoft offerings to help with hackathons, including excellent integration with open source technologies (like PHP,...
View ArticleWebJobs SDK
We’ve released an alpha of “WebJobs SDK”, a simple framework that makes it crazy easy to write code that runs on Azure and binds against azure storage. (The project was internally codenamed...
View ArticleGetting a dashboard for local development with the WebJobs SDK
This blog post describes how developers can do local development using the recently announced an alpha release of WebJobs SDK (aka SimpleBatch). The client side code is just pulling down JobHost class...
View ArticleTrigger, Bindings, and Route parameters in AzureJobs
We recently an alpha for WebJobs SDK (aka AzureJobs , and internally codenamed “SimpleBatch”). In this blog entry, I wanted to explain how Triggers, Bindings, and Route Parameters worked in AzureJobs....
View ArticleAzure Storage Bindings Part 1 – Blobs
The Azure WebJobs SDK provides model binding between C# BCL types and Azure storage like Blobs, Tables, and Queues. The SDK has a JobHost object which reflects over the functions in your assembly. So...
View ArticleAzure Storage Bindings Part 2 – Queues
I previously described how the Azure Webjobs SDK can bind to Blobs. This entry describes binding to Azure Queues. (Binding to Service Bus Queues is not yet implemented)You can see some more...
View ArticleWho wrote that blob?
One of my favorite features of the Azure WebJobs SDK is the “Who wrote this blob?” feature. This is a common debugging scenario: you see your output is incorrect (in this case, a blob) and you’re...
View ArticleAzure Storage Bindings Part 3 – Tables
I previously described how the Azure WebJobs SDK can bind to Blobs and Queues. This entry describes binding to Tables. You can use a [Table] attribute from the Microsoft.WindowsAzure.Jobs namespace in...
View ArticleHow does [BlobInput] work?
The Azure WebJobs SDK supports running functions when a new blob is added. IE, you can write code like this:public static void CopyWithStream( [BlobInput("container/in/{name}")] Stream input,...
View ArticleHosting interactive code in the Cloud
Azure WebJobs SDK alpha 2 makes it very easy to host code in the cloud and run it interactively. You can now invoke your SDK functions directly from the dashboard. Some great uses here:Provide admin...
View ArticleRedis Cache Service on Azure
We just previewed a Redis cache service on Azure. A good writeup is also on ScottGu’s blog. This is Redis hosted within azure as service. You can create a cache via the portal, and then access it via...
View ArticleAzure Storage Naming Rules
I constantly get burned by naming rules for azure storage. Here’s a collection of the naming rules from MSDN. The Storage client libraries don’t help you with these rules and just give you a 400 if you...
View ArticleWebjobs SDK Beta is released
We just released the WebJobs SDK Beta! Some highlights:ServiceBus support!Better configuration options. You can pass in an ITypeLocator to specify which types are indexed, and an INameResolver to...
View Article