Welcome to MSDN Blogs Sign in | Join | Help

1 Question Survey on Configuration

Since I did the survey question on extensibility, I thought I'd do this followup on configuration. The two are often talked about together but have very different needs.

Question:

What's the one thing you would change about how configuration is done for WCF applications?

Pick anything you want about the configuration format, tooling, integration with service code, or other topics as you'd like, but try to keep in mind that this is for an application that uses WCF. It's ok if the details of the change have to do with IIS or other products though.

Published Wednesday, November 12, 2008 5:00 AM by Nicholas Allen
Filed under:

Comments

Wednesday, November 12, 2008 8:22 AM by barryd

# re: 1 Question Survey on Configuration

Make it a lot easier (I can see you're going to get a lot of those types of response).

By the time you've configured the endpoint, forgotten the MEX, added it, set the behaviour, futzed around getting authentication to work your config file has swollen to 3x the size it was before.

I know the configuration application is supposed to make it easier (although I end up just doing the XML by hand from previous applications I know work)

Having some sort of common profile ("User/password protected", "HTTP no authenication", "Weird ass federated identity which may well kick off cardspace") type scenarios would be useful when configuring a service for the first time. As would an MSI custom action to reserve namespaces.

And a pony. I want a pony.

Wednesday, November 12, 2008 11:15 AM by Andy

# re: 1 Question Survey on Configuration

Make it easy to avoid an Excel.exe.config file

Wednesday, November 12, 2008 2:51 PM by Drew Marsh

# re: 1 Question Survey on Configuration

This is almost like a feature ask for the standard .NET configuration system more than anything, but I definitley wouldn't complain if the WCF took it upon themselves to provide a custom way to do this...

Enable the <system.serviceModel> and every custom section under that to be loaded from an external file rather than from the app/web.config itself. Meaning I'd like to be able to define some resuable custom bindings in a standalone file called MyCustomBindings.config and then be able to do something like:

<bindings href="MyCustomBindings.config" />

Today I'd have either copy/paste across several .configs or write an actual binding of my own. Certainly I'd do the latter if I really was going to reuse it across many projects, but if I just want to share the bindings with my unit test project and my host application project I have to copy/paste today. This, in turn, leads to updates being made to one, but not the other and naturally you run into problems because what you tested isn't what you deployed.

Cheers,

Drew

Wednesday, November 12, 2008 10:00 PM by James

# re: 1 Question Survey on Configuration

It would be great to be able to remotely configure any WCF service out of the box. I'm basicly thinking a standard web type interface that talks to an administrative endpoint that allows WCF Configuration Editor functionality.

Thanks,

James

Thursday, November 13, 2008 6:39 AM by Brett

# re: 1 Question Survey on Configuration

Yes, external config files (so my class library can have its own .config file instead of making me put it in the parent).

Thursday, November 13, 2008 9:06 AM by Roman

# re: 1 Question Survey on Configuration

Please make programmatic configuration provision and inspection easier. I'm mostly talking about self-hosted services now.

I mean, would it be possible to

a) provide a small set of classes specifically to do programmatic configuration, to make the code more readable :) For example, kind of Builder pattern when use give us some coarse bricks, from which we at first build the host "surface", and then ask them to build the ServiceHost instance and continue with additional tuning...

b) provide API to dump host information without having to manually go through endpoints, channels etc. For instance, you could provide us with a kind of iterator class, which would go through all the elements of a given ServiceHost, giving a chance to dump/read specific information ourselves.

Thursday, November 13, 2008 2:15 PM by Vadi

# re: 1 Question Survey on Configuration

I would like something what MEF guys has done. Simple Imports and Exports in code ... though, it is not 100% possible in WCF, but something like this will add more easy way of configuring it

Friday, November 14, 2008 2:49 AM by marc_opus

# re: 1 Question Survey on Configuration

external files - I second that opinion.

and provide a way to refresh the configuration at runtime. I know that there will be some limitations, but switching the trace level for example would be a nice feature.

Friday, November 14, 2008 11:49 AM by Yaron Naveh

# re: 1 Question Survey on Configuration

A configuration "flow" is required for the SvcConfigEditor.

For example when you choose to use "certificate" as the client authentication token then fields like "service expected spn identity" and "UsernamePasswordValidationMode" are irrelevant. "clientCertificate" on the other hand is required (although can be specified from code). Totally irrelevant fields should not appear - this is really confusing for people who are not web services experts.

Saturday, November 15, 2008 1:03 PM by Jimmy Zimmerman

# re: 1 Question Survey on Configuration

Actually I disagree with external configuration files. Not that I think that externalizing the configuration is bad. It isn't and really needs to be a scenario we allow. Instead I'd state that being able to supply the configuration as an XNode is what is actually required. There's already existing APIs to allow us to open an external XML document from a file Uri that exist TODAY in the framework. Make the configuration system do one thing and one thing only: CONFIGURE WCF. This is inline with the SRP. If it instead starts futzing around in the file system it's now doing TWO things: configuration AND locating. Instead an abstract WcfConfigResourceBase collaborator should be used. Create two out of the box: a ConfigurationElementResource (preserving the legacy approach we have today) and an XmlResource (use the same XML schema, just externalized and allowed via an XmlReader). The community will step in and create all sorts of wonderful niche specific implementations and chains for specialty purpose systems. I can think of one right now: SqlServerConfiguration =D

Basically take a look at the approach the Castle Project has taken with Windsor when it comes to configuration. A very good solution indeed. A programmatic API to actually do the configuration (we have this in WCF today). A builder that leverages an abstract resource that actually reifies the configuration into calls to the API (e.g. channel/client/binding/etc for WCF). And finally the set of concrete resource representations that work between a storage system (Configs, external files, UDDI, a SQL schema, etc) and the resource interface (an adapter at work).

jimmyzATmicrosoft.com

Sunday, November 16, 2008 12:48 PM by Gert-Jan van der Kamp

# re: 1 Question Survey on Configuration

I agree with Jimmy, just be able to supply the servicemodel node would be great, then you can figure out for yourslef where to get that from, file, DB or service. (I commented that on the other post hadn't seen this one yet)

New Comments to this post are disabled
 
Page view tracker