Zuker On Foundations

The realm of .NET (WPF, WCF and all around)

Browse by Tags

All Tags » WCF (RSS)
WCF Contrib v2.1 Mar07
A new release had been published - WCF Contrib v2.1 Mar07 . This release is the final version of v2.1 Beta that was published on February 10th, you can check the entire updates made from v2.0 further in this post . You can distinguish between this release and the v2.1 Beta Feb10 by checking the assembly file version, in this release it was incremented to v2.1.0.1. Changes from v2.1 Feb10 Beta : There is a one small change which is a breaking change for those who used the asynchronous invocation pattern...

Posted Sunday, March 07, 2010 12:08 PM by Amir Zuker | with no comments

תגים:, ,

WCF Contrib Questions
I decided to blog about common questions I receive regarding WCF Contrib. You can find all questions in the WCF Contrib FAQ . Communication Patterns What's the best practice for web applications that call services? Research has shown that in concurrent environments such as web it is more scalable and has better performance to use a dedicated communication object per a sequence of invocations (sequential - one call after another in the same execution chain flow). It's important to note that...

Posted Wednesday, February 10, 2010 12:20 PM by Amir Zuker | with no comments

תגים:, ,

WCF Contrib v2.1 – Customize Output Caching Provider
Via http://wcfcontrib.codeplex.com/wikipage?title=ClientChannelOutputCache Output Cache Provider Factory This is the factory class that is responsible for creating the actual output cache provider. This is where you extensibility point kicks in, you can replace the built-in factory with your own, read about it here . The factory needs to have a public parameter-less constructor and implement 'IOutputCacheProviderFactory' public interface IOutputCacheProviderFactory { IOutputCacheProvider...

Posted Monday, February 08, 2010 9:15 PM by Amir Zuker | with no comments

תגים:, ,

WCF Contrib v2.1 – Client Channel Output Caching
Via http://wcfcontrib.codeplex.com/wikipage?title=ClientChannelOutputCache . A new feature that arrived at WcfContrib v2.1 Feb10 Beta. You can use the output caching to cache the operation output with the setting of your desire. This is extremely useful and may save you quite some time from building client caching stores. The built-in mechanism implemented here is In-Proc in-memory cache using the synchronized dictionary that comes with WcfContrib as well. You can fully customize it and change the...

Posted Saturday, February 06, 2010 7:02 PM by Amir Zuker | 1 comment(s)

תגים:, ,

WCF Contrib v2.1 Configuration Section
Via http://wcfcontrib.codeplex.com/wikipage?title=WcfContribConfigurationSection . Full-Blown Configuration < configuration >   < configSections >     < section name = " wcfContrib " type = " WcfContrib.Configuration.WcfContribConfigurationSection, WcfContrib " />   </ configSections >     < wcfContrib >     < client applyBoosting = " true " />       < services...

Posted Saturday, February 06, 2010 6:57 PM by Amir Zuker | 2 comment(s)

תגים:, ,

WCF Contrib v2.1 Feb’10 Beta
I am happy to announce a new version of WcfContrib was published today. It has been tested and it is stable. However, there were some core optimizations so this is considered to be a small test-run to make sure it is alright before tagging it as a stable release. Please provide feedback, your input is important. Changes from last version : New Output Caching module for Client Channel – Very useful feature! New behavior attributes and extension elements (ActivationContextInitializerAttribute, ActivationContextExtensionBehaviorElement...

Posted Friday, February 05, 2010 7:30 PM by Amir Zuker | 1 comment(s)

תגים:, ,

WCF 4 Routing Service – Wrapping it up
The routing service that ships with WCF4 beta 2 is a very useful layer for implementing basic standard router facade which provides virtualization, versioning, protocol bridging, windows identity impersonation, transaction propagation and routing capabilities for your back-end services. Unfortunately, I’m afraid that it has a lot to advance in order to be usable for advanced more-sophisticated layer as far as it goes for implementing an actual management layer for message brokering and a policy enforcement...

Posted Monday, January 25, 2010 2:22 PM by Amir Zuker | with no comments

תגים:,

WCF 4 Routing Service as a PEP (Policy Enforcement Point)
This will be the last feature requirement I plan to check with the router service of WCF 4. One of the core purposes for developing the router facade here at my workplace was to have our own layer where we could implement and ensure any kinds of standards/policies. Few examples include encryption, SLA, authorization, logging, notifications. The list goes on. These things require me to have control over the request and reply messages as well as the invocation process flow. Let’s take a simple authorization...

Posted Sunday, January 24, 2010 10:29 PM by Amir Zuker | with no comments

תגים:,

WCF 4 Routing Service – Runtime Governance
One of the goals for building the router facade at my workplace was to make it an essential runtime agent for registering runtime data to the governance realm I implemented. The router sends meta-data of all the runtime messages that goes through it over to the governance registration service queue. Basically, this means that I need a way to intercept every request and reply. I couldn’t find a complete solution for that in the current WCF 4 Routing Service, which is the fourth point of failure ....

Posted Thursday, January 21, 2010 3:41 PM by Amir Zuker | with no comments

תגים:,

WCF 4 Routing Service – Resolve Endpoint in Runtime
The WCF Routing Service comes with a nice set of configuration for defining the client endpoints and the filters to map them for a single request. You can define filters, be that on the message headers or content (using XPath) in order to select the appropriate endpoint to the back-end service. I was looking for a way to determine this in runtime. The router facade I built uses information from the service registry to select the endpoint information for communicating with the back-end service. This...

Posted Wednesday, January 20, 2010 11:09 AM by Amir Zuker | 2 comment(s)

תגים:,

WCF 4 Routing Service – O/W Operation and Corresponding Channel Shapes
O/W operations require to be invoked through the ISimplex contracts which represent O/W channel shapes. When I say O/W operations, I mean that the channel shape reflects that too. E.g. TCP protocol is by nature a duplex channel, you should invoke O/W operations through IDuplexSessionRouter contract. I couldn’t manage to call a O/W operation for a back-end service which is exposed with WsHttpBinding with Reliable Session enabled! That is the second point of failure. In addition, At my router facade...

Posted Tuesday, January 19, 2010 2:21 PM by Amir Zuker | 1 comment(s)

תגים:,

WCF 4 Routing Service – Supported Bindings
For starters, I had to examine if the router service supports all the common bindings we’ve been using in our enterprise. The following worked just fine: BasicHttp Http Protocol, Text Encoding and Soap12 Message Version (part of the WS-I Basic Profile) WsHttp Standard Reliable Session (instead for O/W – more at the next post) NetTcp Standard Reliable Session For the relevant bindings above, sessionful contracts were preserved and transactions were propagated – as long as I configured everything correctly...

Posted Tuesday, January 19, 2010 2:20 PM by Amir Zuker | with no comments

תגים:,

WCF 4 Routing Service – Going Basic
The routing service that comes with WCF 4 enables you to make a single up-front layer for accessing back-end services. The basic concept is that you define endpoints for your router service to be accessible by consumers as well as the internal client endpoints the router service will call the back-end services with. This shields clients from having to know about the physical findings of the back-end services, allowing you to implement useful things such as versioning, virtualization, protocol bridging...

Posted Tuesday, January 19, 2010 1:31 PM by Amir Zuker | with no comments

תגים:,

WCF 4 – Routing Service, The Beginning
I have decided I had enough time to “rest” while being swamped with work and personal agenda over the last few months, it’s time to get back on the saddle. I mentioned it some time ago, but one of the core projects I have been working on is building a smart router facade, a sort of a message broker, providing versioning, virtualization, PEP and so on. WCF 4 introduces us with a nicely wrapped router service OOTB. I was on my way to try to determine if I can use that service as the base implementation...

Posted Tuesday, January 19, 2010 10:04 AM by Amir Zuker | 2 comment(s)

תגים:, ,

Routing a soap message through HTTP protocol with impersonation in WCF
One of the requirements for the sophisticated router facade I built at work was to support Kerberos authentication by using impersonation and delegating the credentials. (Obviously, this will work if all delegation related settings are set up correctly in the domain and so on) I encountered a specific error while trying to impersonate the caller when the transport was HTTP. After excessive debugging, I found that WCF carries the incoming authorization HTTP request properties in the message properties...

Posted Friday, October 02, 2009 1:39 PM by Amir Zuker | with no comments

תגים:,

More Posts Next page »