THIS PROJECT HAS BEEN MOVED TO GITHUB
https://github.com/dontpaniclabs/ServiceHelpers

Project Description
Service Helpers simplifies using WCF in a service oriented software system. Service Helpers makes working with WCF as easy as using any dependency injection framework.

Why?

WCF is a great technology for implementing a Service Oriented Architecture, but the overhead of using WCF is a lot for programmers to deal with on a daily basis. Each WCF call involves creating a WCF channel proxy. The WCF channel proxy must be closed explicitly by the client, and if an exception occurs it must be aborted. Managing the lifecycle of the proxy is a lot of effort, and is very difficult to do correctly. This project simplifies using WCF and makes using WCF as easy as using a dependency injection framework. To accomplish this ServiceHelpers creates a thin proxy that lives between your caller and the WCF proxy. This thin proxy will be generated using Reflection.Emit. With the help of this thin proxy I can manage the lifecycle of the proxy in a very controlled manner. With the help of a little code, using WCF will be as easy as generating a proxy. In fact, WCF will not even be noticeable from the perspective the programmer.

You can get DPL Service Helpers thru nuget.
http://nuget.org/List/Packages/DPLServiceHelpers

With DPL Service Helpers a WCF call looks like this

            var factory = new ProxyFactory();
            var proxy = factory.Proxy<IGenericContract>();
            var result = proxy.Find(10);

Without DPL Service Helpers a WCF call looks like this

                string uri = "net.tcp://localhost:10095/servicehelpersTCP";

                var channelFactory = new ChannelFactory<IExternalServiceTcp>(
                    new NetTcpBinding(), new EndpointAddress(uri));
                var proxy = channelFactory.CreateChannel();

                try
                {
                    Assert.AreEqual("hi", proxy.TestMe("hi"));

                    try
                    {
                        channelFactory.Close();
                    }
                    catch
                    { }
                }
                catch (Exception ex)
                {
                    if (channelFactory != null)
                    {
                        channelFactory.Abort();
                    }
                }

Overview

264082

How To?


Presentations

Service Helpers Presentation

About Don't Panic Labs

Located in the Historic Haymarket district of downtown Lincoln, Nebraska, we are a fast-growing startup made up of tech-sector veterans and fresh young minds that have a collective passion for technological innovation. By bringing these two groups together under one roof, Don't Panic Labs provides an environment for growth and numerous opportunities to develop solutions to real-world problems. Visit us at http://www.dontpaniclabs.com or at our parent company http://www.nebraskaglobal.com or email us at contact@dontpaniclabs.com.

Last edited Aug 31, 2016 at 4:24 PM by chadmichel, version 24