Integration has arrived!
I was recently asked about the motivation for choosing asynchronous service operations in WCF (i.e. [OperationContract(AsyncPattern = true)]).
If you have an operation that is blocking (accessing SQL, Channels, etc) then you should use AsyncPattern=true. That way you’ll free up whatever thread we’re using to call your operation from. The general idea is that if you have a blocking call then you should use the async version and it should transparently play well with us.
Put another way: if you are calling a method that returns an AsyncResult (i.e. you’re accessing SQL, or using sockets, files, or channels), then you can wrap that IAsyncResult and return it from the BeginXXX call (or return the raw asyncresult depending on your scenario).
If you aren’t doing something that’s "natively async", then you shouldn’t be using AsyncPattern=true. That is, you shouldn’t just create a thread just for the sake of performing "background work" as part of an asynchronous operation. Note that it is legitimate to spawn a thread because your operation happens to kick off work that is outside of its completion scope (though in that case you should just have a synchronous method, not an async one).
Lauren and I went to Portland yesterday to help out the Obama campaign register voters in time for the May primary. We got up early this morning to check out a recommendation from Mike: St. Honoré Boulangerie in Northwest Portland.
We arrived at 9AM, and there was already a line almost out the door. But that gave us time to check out all the pastries on display and peruse the breakfast menu. And while we waited we could also peek at the activity in the open kitchen behind the counter.
Lauren ordered the Quiche Jardinere, with spinach, roasted red peppers and roasted leeks. The pastry shell was of medium thickness, making a crunchy and buttery edible bowl for the fluffy egg mixture inside.
The quiche was quite tasty, but the star of the breakfast was the Champignon Frittata Croissant. A mix of eggs, mushrooms, chicken apple sausage and fresh herbs served in a croissant with béchamel. This was a fork and knife croissant dish. It looks like a melted lump here, but the taste more than makes up for the visual 🙂
In the background is a Cranberry Hazelnut Roll that we had for a snack later in the afternoon. It was a hearty wheat roll with a touch of tart-sweetness from the cranberries.
While I waited on line to order our meal, Lauren had scored the best seats in the house. There is a counter top with 4 stools directly in front of the bread-maker. We watched baguettes, brioches, rolls and pastry shells made while we dined. The oven was enormous. The wheel on the left rotated a lazy-susan inside of the oven so that the baker could access different parts of the oven over time.
We also tried a raspberry jam croissant and a Pain au Chocolat. I enjoyed the raspberry jam croissant, but the chocolate croissant was ho-hum. It has been raved about on the web, but I personally thought it was the weakest item we tried. Not that we didn’t polish it off mind you, but there are much better things available at Saint Honoré.
Overall we had a very enjoyable breakfast and I will definitely swing by again on a future Portland trip!
St. Honoré Boulangerie
2335 NW Thurman Street
Portland, OR 97210
Daily: 7:00AM-8:00PM (Breakfast, Lunch, and Dinner)
Tonight I checked out Tidbit Bistro with Lauren, Gio and John. Tidbit is on the very north end of Broadway in a space formerly occupied by Cassis and then XO Bistro. Gio and I used to frequent Cassis, and though I only dined at XO Bistro once I did enjoy the meal. Unfortunately, it closed before I got around to uploading my photos/posting a write up.
The interior space hasn’t changed, which is a good thing. It’s a small setting, but fun lighting and intimate tables. Our server was very nice, friendly, and attentive. He also made a good wine recommendation, a reasonably priced Grüner Veltliner that as a bonus arrived in a 1L bottle! Unfortunately the food was on the whole unremarkable :(
Given the tapas-heavy menu with four people, I was able to sample a broad array of plates. The best items we had were the Crespelle (crepes filled with mushrooms and a mix of melted mozzarella, goat cheese, blue cheese, and béchamel) and the Potato Crocché (fried whipped potato-filled "poppers").
The Crostino con Prosciutto and Papas Dulces (sweet potato fries) were decent. Next time I would pass on the paella, the sauteed prawns, and the albondigas (lamb meatballs).
Overall Tidbit is a fine place to stop for a glass of wine or to sample one of their many *cellos, but I wouldn’t arrive hungry.
2359 10th Ave E
Seattle, WA 98102