WCF (Web Services)
-
859 votes
-
Fix the broken Dispose pattern on CommunicationObject-derived types.
using(var channel = cf.CreateChannel())
{
channel.ForTheLoveOf(wcf);
}268 votes -
210 votes
-
172 votes
-
Enable transferring large messages easier
so that I do not have to restart when a connecton is aborted during transfer between or I can cancel a transfer in between.
147 votes -
Make all WCF bindings IQueryable
Make all WCF bindings IQueryable as WebAPI
117 votes -
Local binding
Why can't we have a local binding for services to run in-process on a machine instead of using net.pipe?
113 votes -
Easier way of doing dependency injection (alternative to IInstanceProvider derivations)
Even though WCF Web Api is now renamed to ASP.NET Web Api, the model on how to do dependency injection should be adopted by WCF as well.
109 votes -
Open-source WCF OData Services
WCF OData Services contains a lot of classes that can be used to dynamically build WCF OData filters, build expressin trees based on a string, ... However, it's not feature complete and no progress is being made on this. Open-sourcing it may help expose several hidden treasures as well as get developent further.
103 votes -
Remove the massive silent exceptions in WCF
At the moment it is not possible to turn on exceptions in the debugger because there are so many thrown and catched exceptions in WCF.
91 votes -
Make WCF endpoint and other settings brain dead easy and foolproof.
Getting WCF configuration settings right is unnecessarily difficult. Fix it once and for all otherwise this hinders wider adoption of WCF.
89 votes -
A tool for detecting breaking change.
Some changes to the service interface are non-breaking (e.g. adding method/properties), and some are not (e.g. renaming properties, adding more subclass in the response).
With a fairly large contract and frequent release, manually checking these rules for breaking changes is laborious and error prone.
It would be great for the WCF to provide such a tool for us to check for backward compatibility at the service interface level.
82 votes -
Better settings Documentation
Describe what each of the settings do and how they interact with each other from a client vs. server setting. For example: how a timeout value in the client config does or doesn't work with the same setting on the server.
64 votes -
Real contract first
WCF should allow implementing SOAP services with contract first, meaning WSDL & XSD. Xml Serializer needs to be able to understand Xml Schema standard better (e.g. maxOccurs, minOccurs, etc) and allow exposing the initial schema instead of generating schema from code in runtime.
43 votes -
Developer-friendly custom transport channel extensibility
As for me writing custom transport channel now is a pain. Example in WCF Samples with local channel contains huge amount of hard to understand and maintain code. A lot of AsyncResult subclasses makes code unreadable. Most of the blog posts on that theme are outdated (2007, 2008 year). MSDN contains just short explanation what this method do, but there is no good source to build solid view on how it works, why I should use that complex pattern, and so on...
42 votes -
Moving to convention over configuration
Name contract interfaces as ISomethingContract, and drop the need to have [OperationContract] for each method - default should be exposing the method, unless specified otherwise (such as [NonServiceOperation]
41 votes -
41 votes
-
Alternative to statics (OperationContext.Current et al)
Mainly for testability - it should be able to inject the context into your service instance.
38 votes -
Publish documentation of the JSON endpoints created from a WCF domain source.
Publish documentation of the JSON endpoints created from a WCF domain source. Trying to produce a javascript application using WCF on the server is next to impossible without knowing what the endpoints are. We need to know the endpoint signatures and how to build changeSets to talk to them.
32 votes -
Exception Marshaling out of box
Provide ability to exception marshaling in WCF vNext
30 votes
- Don't see your idea?