Monthly Archives: January 2006

Default Action for your [OperationContract]

Question of the Day: what is the action for my OperationContract?

Answer: if not set explicitly, the action is contractNamespace + contractName + “/” + operationName. For responses, tack on “Response” at the end of this string.

By default, contractNamespace == “http://tempuri.org/”, contractName == class name, and operationName == method name. These names can be specified explicitly through ServiceContractAttribute.Namespace, ServiceContractAttribute.Name, and OperationContractAttribute.Name respectively.

As an example, if you have the following operation:

[ServiceContract]
class MyService
{

[OperationContract]
public string SampleHello(string name)
{

return string.Format(“Hello {0}.”, name);

}

}

the request action is http://tempuri.org/MyService/SampleHello, and the response action is http://tempuri.org/MyService/SampleHelloResponse.

Alternatively, you can specify the action(s) of your method with the Action and ReplyAction parameters to OperationContract (i.e. [OperationContract(Action=”myAction”, ReplyAction=”myReplyAction”)]

"12" at the top of the Needle

Ever since Lauren and I decided to get married at the Space Needle, we’ve been looking at it a little more often. The other day we noticed a blue and white flag with a “12” on it. We had no idea what it meant. After a little research this morning I discovered that “the Seattle Seahawks 12th Man Flag, a fixture at Qwest Field’s south endzone, has been raised atop the Space Needle to salute Seahawks fans and the team during the NFL playoffs. On December 15, 1984, the Seahawks officially retired jersey #12 in honor of their fans, the 12th Man.”

Turns out that the 12th Man is common terminology in American football for the home team crowd.

Seahawks 12th Man Flag on top of the Space Needle

Kenny Food Ratings

At Lauren’s suggestion, I’ve added a quick “Kenny food rating” to the beginning of my restaurant reviews/overview page. They follow a “Kenny” scale as follows:

: The dreaded “dead Kenny”. Would not go there ever again. Would tell people to avoid this place.

: Average run-of-the-mill, so-so joint. Better than McDonald’s/Burger King, but doesn’t leave any memorable impression.

: Good neighborhood place. Would think of this place if I was in that neighborhood.

: Would seek this place out from another neighborhood. Distinctive food, and good service. Would recommend to out of towners when visiting.

: One of the top places in a city. Unique and high quality food, comfortable and fun environment. Often an “experience”. These are the first places that come to mind when hosting out-of-towners.

Worth traveling from another city for. Not just a meal, but an “experience”.

Brooklyn Grinder (Seattle, WA)

Rating:

Today Gio took Lauren, DeAnn and I to his new favorite sandwich shop: Brooklyn Grinder in the U-District. Gio has great taste in food, so I was excited to try his new haunt. The waitstaff all recognized him, so I could tell he’s taken a liking to the place 🙂

The star of the meal for me was the Tomato Bisque. It was highly pureed tomato, thick and tasty. The sandwiches I tried (meatball, reuben, cajun turkey) were all very good — it’s nice to find another solid sandwich-shop to add to my short list of The Honeyhole and Le Fournil.

Secret tip: you can order any of the “cold sandwiches” in hot form. Lauren did this with the Cajun Turkey sandwich and it was really tasty (my favorite of the ones we tried)

Brooklyn Grinder
5247 University Way NE
Seattle, WA 98105
206-632-5132

Mon-Fri 8:00AM-9:00PM, Sat 9:00AM-9:00PM
(Breakfast, Lunch, and Dinner)

Restaurant Zoe (Seattle, WA)

Rating:

Over the past few years, Restaurant Zoe has become my favorite mid-range restaurant in Seattle. The ambiance is perfect for both romantic dates as well as friendly dinner gatherings or birthday parties. The food is tasty and very consistent, the wait-staff , and the specialty drinks are awesome (which is why Lauren and I took Shawnie here for his first legal drink). Starting an evening at Zoe’s with a Siren (“vodka, sweet vermouth, fresh lemon & jalapeno. vigorously shaken.”) is a must.

Last night Mike and Erin joined us at Zoe’s. Being the proud parents of 2 adorable little ones, they are often unable to get away for an evening out. I wanted them to have a great night out, and Zoe delivered.

We started out with a round of cocktails (mojitos for the Arcuris, and the obligatory Sirens for Lauren and me). For appetizers, we shared a tuna tartare and a fresh ricotta raviolo. The tartare was tasty, though a little heavy on the horseradish. The raviolo is my favorite appetizer at Zoe’s. The thin pasta shell is soft and fresh, the ricotta has a smooth texture, and it’s topped off with a green herb-based sauce that complements the raviolo perfectly.

For the main course, I had the flounder (above), Lauren had the scallops (sans bacon of course), Erin had the seared tuna, and Mike the pork tenderloin. The fish were both delectible, perfectly cooked, with complementary sides. The flounder was nice and flaky, the tuna thick and gloriously rare inside. I didn’t get to try the pork, but Mike did clean his plate.

The scallops were perfectly seared, crispy on the outside, thick and juicy on the inside:
Lauren with her Scallops

It’s good to be back in Seattle!

Restaurant Zoe
2137 Second Ave (at Blanchard)
Seattle, WA 98121
206-256-2060

Sun-Thurs 5:00PM-10:00PM
Fri-Sat 5:00PM-11:00PM
(Dinner only)

Update (3/30/2006, 10:45PM): 25 for 25 at Zoe was a pleasant contrast to last night’s experience at Ray’s Boathouse. Each part of the meal from appetizer to dessert was multiple notches higher. 25 for 25 introduced some fabulous new additions to the menu. The most innovative dish was a “gnudi” appetizer (basically ricotta filled gnocci) — silky texture and intricate flavors. We also enjoyed a crisp Strub Riesling and saved room for the new chocolate desert (paired with homemade vanilla ice cream).
DeAnn enjoying the Strub RieslingKenny and gnudiThe ladies and dessert

Vios Café & Marketplace (Seattle, WA)

Rating:

If you are looking for great Greek food in a friendly, casual, neighborhood atmosphere, you have to check out Vios. It is the best Greek food I’ve had in Seattle. It is also very kid-friendly (they have a playpen in the back corner), but it is not the place for a romantic, low-light dinner.

Chicken Souvlaki When Lauren and I got back from Greece last summer, we ached for a restaurant serving real, tasty, Greek food. Not an “opah!”, American-style restaurant, but a place with great feta and souvlaki. Turns out that Thomas Soukakos (owner of Vios) was just about ready to answer our prayers.

If you have the fortune to be in the neighborhood at lunchtime, the seared tuna sandwich is awesome. For dinner, start with the warm eggplant salad (only available in winter time), or one of the seasonal salads. Last night we had a grilled haloumi (cheese) and frisee salad with pomegranate seeds. For entrees, the chicken souvlaki a solid choice, though you can’t go wrong with anything on the (often rotating) menu. Just be sure to save room for a scoop of chocolate gelato!

Scallops and garlicUPDATE (4/1/2006): My friends Tom and Joann were visiting for the weekend and we had 100% mouth watering dishes, including a full round of gelato and these fabulous scallops:

UPDATE (10/21/2006): Lately I’ve been waking up on the weekends craving Vios’ eggplant and halumi sandwich. I’ve had 3 since we’ve been back from Italy! 🙂

Vios Café and Marketplace
903 19th Ave E
Seattle, WA 98112
206-329-3236

Tue-Sat 8:30AM-9:00PM
(Breakfast, Lunch, and Dinner)

Seattle Gastronomy

I’ll admit it, I really enjoy food. There are times that Lauren and I spend an entire commute on food-related topics. Fortunately Lauren really enjoys food as well (she sometimes posts pictures of her meals).

Yesterday we had a fabulous meal at Vios on Capitol Hill and I decided to start blogging about my dining experiences. You can follow along, or just bookmark the main restaurant page which I will update as I post about an establishment. Mmmmm…..

MaxReceivedMessageSize, MaxBufferSize, and proxy generation

To limit DoS exposure, we have a knob on all of our transports to control the size of Messages received on the wire. This way, we will only allocate a bounded amount of memory for each message. This setting is binding.MaxReceivedMessageSize in imperative code (or <binding maxReceivedMessageSize="654321"> in config). If an incoming Message is larger than MaxReceivedMessageSize, we will drop the Message (and fault the transport channel for session-ful channels).

Many of our transports/bindings also have a “MaxBufferSize” knob. For buffered transports, this value is always equal to MaxReceivedMessageSize (and the system Asserts this fact). However, for Streamed bindings (TransferMode == TransferMode.Streamed), we only need to buffer the SOAP Headers in order to generate a Message, and we can have the Body stream in on-demand. In this case, MaxBufferSize <= MaxReceivedMessageSize, and MaxReceivedMessageSize will bound the overall message, while MaxBufferSize bounds the Headers size.

One thing to note about these settings is that they are local behavioral settings. That is, they are not transmitted in Metadata. So if you generate a proxy to a service with a MaxReceivedMessageSize = 2GB, the proxy will have a default value (64K) for MaxReceivedMessageSize. This leaves control of the appropriate MaxReceivedMessageSize in the hands of the administrator to decide, and (hopefully) helps with our out-of-the-box security story.

Coping with Indigo post-Beta 1 OM changes

Back from vacation and catching up on life in the rainy city (a little more rain in Seattle this time of year than Buenos Aires, go figure). While I was gone, Ed posted a good overview of the changes between Beta 1 and the November CTP. Don’t be put off by the number of renames and restructuring that has occurred, most of it is surface-level (and IMHO results in a more usable system). Enjoy!