WCF - Creating a Service and Client in ASP.NET 3.5 and C#
Introduction
The Windows Communication Foundation (WCF) is great for allowing applications to interact and integrate with one another across platforms. WCF is a powerful introduction to the .NET Framework, aimed at filling gaps left by such implementations as Web Services, and this article will guide you through creating a simple WCF Service, and then implementing that Service with a Client. We can host the Service on the same machine as the Client, which is great for testing. This article will result in us creating a simple calculator service, that we can consume in a client. The Client will call the service to use the simple calculator tasks of addition, subtract, multiply and divide.
What we will learn in this article:
- How to Create a WCF Service in Visual Studio.NET 2008;
- How to consume the WCF Service in a Client Console application.
Please Note:
To create this example WCF Service, we will be using Visual Studio.NET 2008 with ASP.NET 3.5, which comes with WCF built-in. However, this article will make use of the CMD Shell from the Windows SDK to build the client application, which can be downloaded from Microsoft here
Getting Started with our WCF Service
To begin, we will start up Visual Studio and create a New Project, Console Application. We will start with our WCF Service. Name it Service1, and choose a location. When the project opens, we should see something like this:
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ProgrammingHelp.WCFService1
{
{
{
}
Our next step is to add a reference to the ServiceModel.dll. To do this, right-click on the References folder in Solution Explorer, and choose Add Reference. In the ASP.NET Tab, scroll down to System.ServiceModel, select it and click Ok. Now add a using directive:
If you're ever in the market for some great Windows web hosting, try Server Intellect. We have been very pleased with their services and most importantly, technical support.
Now we can create our interface for the calculator, which includes our Operation Contracts. The contract defines the functionality offered by the Service, and describes how to use it. Add the following to the namespace:
public interface ICalculator
{
Double Add(Double n1, Double n2);
[OperationContract]
Double Subtract(Double n1, Double n2);
[OperationContract]
Double Multiply(Double n1, Double n2);
[OperationContract]
Double Divide(Double n1, Double n2);
Now to implement this contract, we create the methods in a class which inherits our interface:
{
{
Console.WriteLine("Call made: Add({0},{1})", num1, num2);
Console.WriteLine("Answer: {0}", answer);
return answer;
public Double Subtract(Double num1, Double num2)
{
Console.WriteLine("Call made: Subtract({0},{1})", num1, num2);
Console.WriteLine("Answer: {0}", answer);
return answer;
public Double Multiply(Double num1, Double num2)
{
Console.WriteLine("Call made: Multiply({0},{1})", num1, num2);
Console.WriteLine("Answer: {0}", answer);
return answer;
public Double Divide(Double num1, Double num2)
{
Console.WriteLine("Call made: Divide({0},{1})", num1, num2);
Console.WriteLine("Answer: {0}", answer);
return answer;
Server Intellect assists companies of all sizes with their hosting needs by offering fully configured server solutions coupled with proactive server management services. Server Intellect specializes in providing complete internet-ready server solutions backed by their expert 24/365 proactive support team.
Now we will create the Main object inside the Program class. This will add the Service EndPoint and ultimately initialize our Service. Here, we will use the ServiceMetadataBehavior class, which is in the System.ServiceModel.Description namespace. We will need to also add a reference to this.
{
{
ServiceHost localHost = new ServiceHost(typeof(CalculatorService), baseAddr);
try
{
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
localHost.Description.Behaviors.Add(smb);
localHost.Open();
Console.WriteLine("Service initialized.");
Console.WriteLine("Press the ENTER key to terminate service.");
Console.WriteLine();
Console.ReadLine();
localHost.Close();
catch (CommunicationException ex)
{
localHost.Abort();
Now our service is pretty much complete and ready to be consumed. Our Entire Service code looks like this:
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Description;
namespace ProgrammingHelp.WCFService1
{
public interface ICalculator
{
Double Add(Double n1, Double n2);
[OperationContract]
Double Subtract(Double n1, Double n2);
[OperationContract]
Double Multiply(Double n1, Double n2);
[OperationContract]
Double Divide(Double n1, Double n2);
class CalculatorService : ICalculator
{
{
Console.WriteLine("Call made: Add({0},{1})", num1, num2);
Console.WriteLine("Answer: {0}", answer);
return answer;
public Double Subtract(Double num1, Double num2)
{
Console.WriteLine("Call made: Subtract({0},{1})", num1, num2);
Console.WriteLine("Answer: {0}", answer);
return answer;
public Double Multiply(Double num1, Double num2)
{
Console.WriteLine("Call made: Multiply({0},{1})", num1, num2);
Console.WriteLine("Answer: {0}", answer);
return answer;
public Double Divide(Double num1, Double num2)
{
Console.WriteLine("Call made: Divide({0},{1})", num1, num2);
Console.WriteLine("Answer: {0}", answer);
return answer;
class Program
{
{
ServiceHost localHost = new ServiceHost(typeof(CalculatorService), baseAddr);
try
{
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
localHost.Description.Behaviors.Add(smb);
localHost.Open();
Console.WriteLine("Service initialized.");
Console.WriteLine("Press the ENTER key to terminate service.");
Console.ReadLine();
localHost.Close();
catch (CommunicationException ex)
{
localHost.Abort();
Server Intellect offers Windows Hosting Dedicated Servers at affordable prices. I'm very pleased!
We will create our Client in a new Project, but within the same Solution as the Service. To do this, right-click the Solution in Solution Explorer, and choose Add > New Project.. Console Application. Name it ClientApp. As with the Service, add a reference to the System.ServiceModel.dll and a using directive.
Next, run the service from Visual Studio (hit F5), and then we need to goto the Start Menu > All Programs > Microsoft Windows SDK > CMD Shell. If you do not have this, then you will need to download the Windows SDK at the link at the top of this article.
You should have something like this:
Now we want to navigate to our ClientApp folder using cd (Change Directory). Example, input cd "C:\Users\xxxxxx\Visual Studio 2008\Documents\Consoles\WCFService1\ClientApp" and hit Enter:
Finally, enter the following to generate the necessary files for our Client and then hit Enter:
svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/WCFService1
This will generate our Client files.
You can now close the CMD Shell window. Navigate to your ClientApp folder and verify that the files were created in the correct location. You should now have app.config and generatedProxy.cs.
We can now also terminate the Service and go back into Visual Studio. In Solution Explorer, right-click the ClientApp project and choose to Add > Existing Item. Enter * in the File name box and hit enter. There, choose to add the generatedProxy.cs and the app.config we just created. The App.config file should look something like this:
<configuration>
bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
allowCookies="false">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
<client>
contract="ICalculator" name="WSHttpBinding_ICalculator">
<identity>
We are using Server Intellect and have found that by far, they are the most friendly, responsive, and knowledgeable support team we've ever dealt with!
Notice the EndPoint was generated for our Client.
The generatedProxy.cs includes our interface and all of our methods:
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.3074
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
[System.ServiceModel.ServiceContractAttribute(Namespace="http://ProgrammingHelp.Service/", ConfigurationName="ICalculator")]
public interface ICalculator
{
double Add(double n1, double n2);
[System.ServiceModel.OperationContractAttribute(Action="http://ProgrammingHelp.Service/ICalculator/Subtract", ReplyAction="http://ProgrammingHelp.Service/ICalculator/SubtractResponse")]
double Subtract(double n1, double n2);
[System.ServiceModel.OperationContractAttribute(Action="http://ProgrammingHelp.Service/ICalculator/Multiply", ReplyAction="http://ProgrammingHelp.Service/ICalculator/MultiplyResponse")]
double Multiply(double n1, double n2);
[System.ServiceModel.OperationContractAttribute(Action="http://ProgrammingHelp.Service/ICalculator/Divide", ReplyAction="http://ProgrammingHelp.Service/ICalculator/DivideResponse")]
double Divide(double n1, double n2);
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
public interface ICalculatorChannel : ICalculator, System.ServiceModel.IClientChannel
{
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
public partial class CalculatorClient : System.ServiceModel.ClientBase<ICalculator>, ICalculator
{
{
}
public CalculatorClient(string endpointConfigurationName) :
}
public CalculatorClient(string endpointConfigurationName, string remoteAddress) :
}
public CalculatorClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
}
public CalculatorClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
}
public double Add(double n1, double n2)
{
public double Subtract(double n1, double n2)
{
public double Multiply(double n1, double n2)
{
public double Divide(double n1, double n2)
{
We chose Server Intellect for its dedicated servers, for our web hosting. They have managed to handle virtually everything for us, from start to finish. And their customer service is stellar.
Finally, we can add the logic to our Client Program.cs, which will interact with the Service, using the methods. We call each method with parameters for the Service to calculate and then return the answers back to the Client:
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
namespace ProgrammingHelp.ClientApp
{
{
{
double value1 = 100.00D;
double value2 = 15.99D;
double result = client.Add(value1, value2);
Console.WriteLine("{0} + {1} = {2}", value1, value2, result);
value1 = 145.00D;
value2 = 76.54D;
result = client.Subtract(value1, value2);
Console.WriteLine("{0} - {1} = {2}", value1, value2, result);
value1 = 9.00D;
value2 = 81.25D;
result = client.Multiply(value1, value2);
Console.WriteLine("{0} x {1} = {2}", value1, value2, result);
value1 = 22.00D;
value2 = 7.00D;
result = client.Divide(value1, value2);
Console.WriteLine("{0} / {1} = {2}", value1, value2, result);
client.Close();
Console.WriteLine();
Console.WriteLine("Press the ENTER key to terminate client.");
Console.ReadLine();
To test the client, right-click on the Service project in Solution Explorer, and choose rebuild. Then do the same for the Client. Now we can goto the bin/debug/ folder of each project and first run the WCFService1.exe to initialize, and then the ClientApp.exe. We should have an output like this:






Leave a Comment
#1 dulwan
Posted By: dulwan | 4.08.2009 at 9:31 PM
awesome...yeah...
#2 zivadin
Posted By: zivadin | 4.17.2009 at 3:48 PM
Poor explanation. This is more comercial for your sponsors than WCF.
#3 hohum
Posted By: hohum | 4.21.2009 at 5:35 PM
Yawn...
#4 John
Posted By: John | 5.11.2009 at 12:28 AM
Good one
#5 zunisun
Posted By: zunisun | 5.23.2009 at 3:46 PM
yes I agree with the others, watson
#6 gambling United States casinos
Posted By: gambling United States casinos | 6.27.2009 at 2:46 AM
I know what you're going to say, "that defeats the purpose". Please humor me, and answer if you know of a way to perform these web service calls Synchronously. This would be used in a case whereby function X must precede function Y and so on. Important in financial calculations. Thanks in advance.
#7 om prakash
Posted By: om prakash | 7.25.2009 at 7:22 AM
How Create a client file.
1. if a client file create a new project?
2. if a client both file created in main project(server file)?
3.if a file was create svcutil.exe *.aspx then where is create other file because wcf class create two file one *.cs and *svc.cs
#8 muhammad Mazhar khan
Posted By: muhammad Mazhar khan | 10.07.2009 at 12:56 AM
this whole code is copied from microsoft site i.e. msdn.microsoft.com/.../ms734686.aspx should use your own imagination or own real time example to make understand the concept of wcf.
#9 Seema
Posted By: Seema | 10.08.2009 at 4:02 AM
the code is very usefull .. its very good for beginers
#10 Tiffany Rings
Posted By: Tiffany Rings | 10.23.2009 at 5:34 AM
i like
#11 פומה
Posted By: פומה | 10.28.2009 at 5:55 AM
I found your site on delicious today and really liked it.. i bookmarked it and will be back to check it out some more later ..
#12 aion gold
Posted By: aion gold | 11.05.2009 at 12:43 AM
It's very useful for me!
#13 cash gifting
Posted By: cash gifting | 11.09.2009 at 1:32 AM
great info
#14 hard money lenders
Posted By: hard money lenders | 11.09.2009 at 1:33 AM
thanks
#15 domuz gribi
Posted By: domuz gribi | 11.09.2009 at 1:21 PM
thanks for info. <a href="http://www.domuzgribi.in"> domuz gribi </a></p>
<p><a href="http://www.domuzgribi.in"> domuz gribi belirtileri </a>
#16 tiffany jewellery
Posted By: tiffany jewellery | 11.11.2009 at 8:44 PM
Thank you for sharing.It's very useful.
#17 Projeksiyon
Posted By: Projeksiyon | 11.23.2009 at 3:57 AM
Thank you very much for your valuable information
#18 Zacquisha
Posted By: Zacquisha | 11.26.2009 at 12:36 PM
It's quite confusing but it helped me upgrade my programming knowledge.
#19 Nice post
Posted By: Nice post | 11.26.2009 at 12:38 PM
just copied from msdn,
msdn.microsoft.com/.../ms734712.aspx
#20 kitchen cabinets
Posted By: kitchen cabinets | 11.26.2009 at 12:39 PM
The .NET framework is quite a tricky part there. Thanks for being such a big help.
#21 toronto seo
Posted By: toronto seo | 11.26.2009 at 12:45 PM
This is quite confusing. There are codes that are new to me, anyways thanks for this one. I'll study these codes.
#22 jewelry supplies
Posted By: jewelry supplies | 11.26.2009 at 12:47 PM
It's filling gaps of what I know about WCF. Thanks.
#23 Awryt
Posted By: Awryt | 11.26.2009 at 12:49 PM
I can't believe some people can be so sourpuss on the info given. Let's just appreciate the effort please!
#24 mother of pearl beads
Posted By: mother of pearl beads | 11.26.2009 at 12:52 PM
.net framework part is confusing. Thanks for this codes, they're awesome.
#25 Work at Home News
Posted By: Work at Home News | 11.26.2009 at 12:54 PM
For online workers like me, this piece of knowledge would be a treasure trove. We hope you continue to share us everything you know about WCF.
#26 Beginners Blogging Guide
Posted By: Beginners Blogging Guide | 11.26.2009 at 12:54 PM
Did you use some tools to generate some codes?
#27 Indian Dating
Posted By: Indian Dating | 11.29.2009 at 4:21 PM
omg i hate C!!
#28 Nicole Thompsen
Posted By: Nicole Thompsen | 12.06.2009 at 9:46 PM
Watch collectors throughout the world posses some of the most prestigious Rolex watches of all times. They won�t send you a fine Rolex replica watch like you paid for though. They can not have much complain because they are paying a small amount and get the good quality Rolex replica watches. Meeting the demand of the downstream customers is not easy.Imagine you find a web site that has �promotion� of nice looking Rolex replicas for very low process. They do not accept credit cards and you send them a money order.You won�t be able to insure it like you would definitely want to do with a genuine Rolex, which is even more money out of your pocket. These watches are more technologically advanced as compared to when they were launched and this shows high class innovation work by a world renowned <a href="http://www.theredamerica.com">pandora charm</a> making brand. Thus smaller businessmen who cannot afford the real thing go for high quality replica Rolex to give more mileage and success to his business by creating an aura around them! Hottest replica watches. The truth is that this company has much more traditions in production of watch movements than Rolex. The history of the ETA company dates back to 18th century.Rolex Watches- Expensive yet Popular.
#29 Nicole Thompsen
Posted By: Nicole Thompsen | 12.06.2009 at 9:47 PM
Watch collectors throughout the world posses some of the most prestigious Rolex watches of all times. They won�t send you a fine Rolex replica watch like you paid for though. They can not have much complain because they are paying a small amount and get the good quality Rolex replica watches. Meeting the demand of the downstream customers is not easy.Imagine you find a web site that has �promotion� of nice looking Rolex replicas for very low process. They do not accept credit cards and you send them a money order.You won�t be able to insure it like you would definitely want to do with a genuine Rolex, which is even more money out of your pocket. These watches are more technologically advanced as compared to when they were launched and this shows high class innovation work by a world renowned [url=http://www.theredamerica.com]pandora charm[/url] making brand. Thus smaller businessmen who cannot afford the real thing go for high quality replica Rolex to give more mileage and success to his business by creating an aura around them! Hottest replica watches. The truth is that this company has much more traditions in production of watch movements than Rolex. The history of the ETA company dates back to 18th century.Rolex Watches- Expensive yet Popular.
#30 Nicole Thompsen
Posted By: Nicole Thompsen | 12.06.2009 at 9:47 PM
Watch collectors throughout the world posses some of the most prestigious Rolex watches of all times. They won�t send you a fine Rolex replica watch like you paid for though. They can not have much complain because they are paying a small amount and get the good quality Rolex replica watches. Meeting the demand of the downstream customers is not easy.Imagine you find a web site that has �promotion� of nice looking Rolex replicas for very low process. They do not accept credit cards and you send them a money order.You won�t be able to insure it like you would definitely want to do with a genuine Rolex, which is even more money out of your pocket. These watches are more technologically advanced as compared to when they were launched and this shows high class innovation work by a world renowned <a href="http://www.theredamerica.com">pandora charm</a> making brand. Thus smaller businessmen who cannot afford the real thing go for high quality replica Rolex to give more mileage and success to his business by creating an aura around them! Hottest replica watches. The truth is that this company has much more traditions in production of watch movements than Rolex. The history of the ETA company dates back to 18th century.Rolex Watches- Expensive yet Popular.
#31 The Peoples Program
Posted By: The Peoples Program | 12.08.2009 at 4:55 AM
Programing can be tough..You have too take your time..
#32 Second String Swap
Posted By: Second String Swap | 12.11.2009 at 12:34 PM
I learned something new today. Thanks.
#33 VioletRose
Posted By: VioletRose | 12.14.2009 at 5:34 AM
Hi,this is a a very informative blog about WCF(window communication foundation).its very helpful.Thanks for such information.very go.
<a href="http://www.pofecker.com/" >Pofecker</a>
#34 cash gifting
Posted By: cash gifting | 12.15.2009 at 7:47 PM
Thanks for this helpful information.
zadoc
#35 forex trading system
Posted By: forex trading system | 12.15.2009 at 7:48 PM
need help with this?
kelly
#36 links of london
Posted By: links of london | 12.26.2009 at 12:23 AM
i like
#37 papsic
Posted By: papsic | 12.27.2009 at 11:02 AM
a nice presentation.
thanks for this article.
please if possible provide more.
#38 http://www.smartbreathalyzer.com
Posted By: http://www.smartbreathalyzer.com | 1.04.2010 at 6:33 AM
That was very clear and easy to understand. Thanks for the help.
#39 tiensshop
Posted By: tiensshop | 1.09.2010 at 2:12 AM
Very interesting post you have there and i find this site very interesting, i think i will Bookmark it and start doing following. Continue with this great job i will always stop by to read your articles.
#40 weight loss patches
Posted By: weight loss patches | 1.12.2010 at 7:07 AM
Thanks for putting this code and guide together, I was having some issues but this has sorted them all out, great stuff.
#41 flower usa
Posted By: flower usa | 1.15.2010 at 8:38 AM
this is great code
#42 casinos de jeux en ligne
Posted By: casinos de jeux en ligne | 1.23.2010 at 12:46 AM
Create a new Windows Service C# Project titled "WindowsService1". Visual Studio.NET will create a project with a class that extends the
System.ServiceProcess.ServiceBase class. This class contains methods for controlling the process; OnStart(), OnStop(), OnPause(), and OnContinue(). The start and stop methods are required and the other are optional.
#43 Search Engine Optimisation Service
Posted By: Search Engine Optimisation Service | 1.28.2010 at 8:05 AM
Really interesting post. It will be useful for my future use in my SEO website.
#44 Search Engine Optimisation Service
Posted By: Search Engine Optimisation Service | 1.28.2010 at 8:05 AM
Really interesting post. It will be useful for my future use in my SEO website.
#45 Online Accounting Services
Posted By: Online Accounting Services | 1.28.2010 at 8:07 AM
Explanation is good but hard to implement. Hoping for much more detail explanation.
#46 Hypotheek bkr
Posted By: Hypotheek bkr | 1.29.2010 at 9:51 AM
I like using Visual Studio.NET 2008 with ASP.NET 3.5, because it comes with WCF built-in.
#47 Goarticles Profile
Posted By: Goarticles Profile | 1.30.2010 at 11:00 PM
What a nice article!
#48 free samples without surveys
Posted By: free samples without surveys | 1.31.2010 at 10:29 AM
fantastic post!
keep on sharing
#49 kai
Posted By: kai | 2.06.2010 at 3:39 AM
good
#50 no credit check payday loans
Posted By: no credit check payday loans | 2.07.2010 at 12:08 AM
great post on no credit check payday loans
#51 New house Chesterfield
Posted By: New house Chesterfield | 2.09.2010 at 6:11 AM
This will be very helpful for many working professionals as well as for those students who are working on some sort of projects. :)
#52 New House Hopewell
Posted By: New House Hopewell | 2.16.2010 at 6:53 AM
It would be very useful if you can simplify some of the terms used about WCF in this article. Thanks! :)
#53 Vigaplus
Posted By: Vigaplus | 2.17.2010 at 2:49 PM
I have problems in this!
{
[OperationContract]
Double Add(Double n1, Double n2);
[OperationContract]
Double Subtract(Double n1, Double n2);
[OperationContract]
Double Multiply(Double n1, Double n2);
[OperationContract]
Double Divide(Double n1, Double n2);
}
#54 fotografia ślubna Katowice
Posted By: fotografia ślubna Katowice | 2.23.2010 at 1:17 AM
Use this i n my work. Works !! Thanks a lot.
#55 fotografia ślubna
Posted By: fotografia ślubna | 2.23.2010 at 1:21 AM
Like this program. Work for my perfect.
#56 Lebron James
Posted By: Lebron James | 2.23.2010 at 1:22 AM
Use some information for this code. Thanks
#57 цитати українською
Posted By: цитати українською | 2.25.2010 at 6:20 AM
very nice
thx
#58 Closet Doors
Posted By: Closet Doors | 2.26.2010 at 9:55 AM
Thanks brother was very nice of page.
#59 Closet Doors
Posted By: Closet Doors | 2.26.2010 at 9:56 AM
I think this type of article is useful for many readers blog.Thank you sou much.
#60 online advertising
Posted By: online advertising | 2.26.2010 at 1:02 PM
Good job! THANKS! You guys do a great website, and have some great contents. Keep up the good work.
best regards,
<a href="http://www.xn----7wfb8ic7bd4b3hbf.com/">เอเจล</a> <a href="http://www.sanookseries.com">ซีรีย์เกาหลี</a> <a href="http://www.series.in.th">ซีรีย์เกาหลี</a> <a href="http://www.farmkaset.org">ปุ๋ย</a> <a href="http://www.intrends.in.th">onitsuka</a> <a href="http://www.xn--l3c1axm3cc2d0d.com">เสื้อ</a> <a href="http://www.haarod.com">รถมือสอง</a> <a href="http://www.f10shop.com/baschi/default.aspx">บาชิ</a>
#61 online advertising
Posted By: online advertising | 2.26.2010 at 1:05 PM
Good job! THANKS! You guys do a great website, and have some great contents. Keep up the good work.
best regards,
<a href="http://www.xn----7wfb8ic7bd4b3hbf.com/">เอเจล</a> <a href="http://www.sanookseries.com">ซีรีย์เกาหลี</a> <a href="http://www.series.in.th">ซีรีย์เกาหลี</a> <a href="http://www.farmkaset.org">ปุ๋ย</a> <a href="http://www.intrends.in.th">onitsuka</a> <a href="http://www.xn--l3c1axm3cc2d0d.com">เสื้อ</a> <a href="http://www.haarod.com">รถมือสอง</a> <a href="http://www.f10shop.com/baschi/default.aspx">บาชิ</a>
#62 coach handbag outlet
Posted By: coach handbag outlet | 2.28.2010 at 8:42 PM
The variety of coach handbags are so many that it almost becomes difficult to choose the right one.
#63 MBT trainers shoes
Posted By: MBT trainers shoes | 2.28.2010 at 8:43 PM
You are sure to find one for every occasion.
#64 Christian louboutin
Posted By: Christian louboutin | 2.28.2010 at 8:44 PM
Well here is one that is certainly unique and different.
#65 letty
Posted By: letty | 3.02.2010 at 12:21 AM
<a href="http://www.abercrombie4sale.com/">abercrombie and fitch</a> is loved by young and old, women and men, adults and kids. And <a href="http://www.abercrombie4sale.com/">abercrombie</a> & Fitch is the most bought by many people in America, whether it's clothing or accessories. It has been deeply loved by many young people.
#66 letty
Posted By: letty | 3.02.2010 at 12:35 AM
<a href="http://www.abercrombie4sale.com/">abercrombie and fitch</a> is loved by young and old, women and men, adults and kids. And <a href="http://www.abercrombie4sale.com/">abercrombie</a> & Fitch is the most bought by many people in America
#67 Purushottam
Posted By: Purushottam | 3.04.2010 at 5:05 AM
good one http://www.imaxinfotech.com
#68 Glass Beads Supplies
Posted By: Glass Beads Supplies | 3.04.2010 at 7:52 AM
Nice like these beads here. Carryon, soldier@
#69 coach handbags
Posted By: coach handbags | 3.05.2010 at 12:09 AM
The variety of coach handbags are so many that it almost becomes difficult to choose the right one.
#70 psycholog online
Posted By: psycholog online | 3.06.2010 at 2:07 PM
this is great! i love this
#71 fotografia ślubna
Posted By: fotografia ślubna | 3.06.2010 at 2:08 PM
great work! congrats!
#72 play tetris online
Posted By: play tetris online | 3.07.2010 at 3:41 AM
Amazing blog post..
#73 purple ghd
Posted By: purple ghd | 3.10.2010 at 12:37 AM
Your article <a href="http://www.funky-ghd.com">ghd mini styler</a> is very useful to me <a href="http://www.funky-ghd.com">ghd hair</a>, hoping to appear <a href="http://www.funky-ghd.com">purple ghd</a> more like articles. Godcreatedthehuman
#74 coach handbags
Posted By: coach handbags | 3.14.2010 at 10:48 PM
www.discountcoachhandbag.com www.discountcoachhandbag.com/.../coach-c-2.html www.mbttrainersshoes.com www.louboutindiscounting.com
#75 rockwell sonic crafter
Posted By: rockwell sonic crafter | 3.18.2010 at 3:12 AM
IF To test the client, right-click on the Service project in Solution Explorer, and choose rebuild. Then do the same for the Client. Now we can goto the bin/debug/ folder of each project and first run the WCFService1.exe to initialize, and then the ClientApp.exe. We should have an output like this:..
Soo where is the debug?
#76 discount coach handbag
Posted By: discount coach handbag | 3.18.2010 at 3:35 AM
www.discountcoachhandbag.com coach handbags,
www.discountcoachhandbag.com/.../coach-c-2.html coach handbag outlet,
handbagsoutlet.xanga.com handbag blog
www.discountcoachhandbag.com/.../gucci-c-11.html gucci handbags
www.discountcoachhandbag.com/.../chloe-c-15.html chole handbags
www.discountcoachhandbag.com/.../bally-c-17.html bally handbags
www.discountcoachhandbag.com/.../chanel-c-1.html chanel handbags
#77 350-030
Posted By: 350-030 | 3.18.2010 at 4:25 AM
Great and very explicit post. Thanks for the article.
#78 fein multimaster top
Posted By: fein multimaster top | 3.18.2010 at 4:58 AM
i love it please bookmark this page in digg or mixx because I can find it easily
#79 fein multimaster top
Posted By: fein multimaster top | 3.18.2010 at 4:59 AM
i love it please bookmark this page in digg or mixx because I can find it easily