Skip to main content

WCF Service Client


  1. Open WCF service host project that you created OR create one based on instructions here.
  2. Add a new project to the current solution: Right click Solution on Solution Explorer > Add > Add New Project
  3. Select Console Application template under Visual C# > Windows templates
  4. Change the project name to ConsoleClient and click OK
  5. In Solution Explorer, under ConsoleClient project, right click References and select Add Service Reference... 
  6. In the Add Service Reference dialog, click Discover button. This should bring you the Mex address of the service. If not, you may have to copy the endpoint address from the ConsoleHost's App.config file and click go. 
  7. Now you should see the ProductService in Services section.
  8. Change the default name in Namespace textbox to ProductReference and click OK.  
  9. Doing the above will update the references and also App.config file.
  10. In the Program.cs file, add using System.ServiceModel; and using ConsoleClient.ProductReference;
  11. Add the following code

       static void Main(string[] args)
        {
            ProductServiceClient client = new ProductServiceClient("BasicHttpBinding_IProductService");

            Console.WriteLine("Press 1 to Add | 2 to List All | 3 to List by Product | 0 to Exit");
            Console.Write("Select an option : ");
            string opt = Console.ReadLine();

            while (!opt.Equals("0"))
            {
                switch (opt)
                {
                    case "1":
                        Console.Write("Id:");
                        string id = Console.ReadLine();
                        Console.Write("Product Code:");
                        string code = Console.ReadLine();
                        Console.Write("Product Name:");
                        string name = Console.ReadLine();
                        Console.Write("Your Review:");
                        string review = Console.ReadLine();

                        ProductReview pr = new ProductReview();
                        pr.Id = id;
                        pr.ProductCode = code;
                        pr.ProductName = name;
                        pr.Review = review;

                        client.SubmitReview(pr);

                        Console.WriteLine("Thank you for your product review.");
                        break;
                   
                    case "2":
                        ProductReview[] allPrs = client.ListAllReview();
                        foreach (var item in allPrs)
                        {
                            Console.WriteLine(" Review Id:{0} \n Product Code:{1} \n Product Name:{2} \n Product Review: ", item.Id, item.ProductCode, item.ProductName, item.Review);
                        }
                        break;

                    case "3":
                        Console.Write("Product Code:");
                        string pCode = Console.ReadLine();
                        ProductReview[] prsByProduct = client.ListReviewByProduct(pCode);
                        foreach (var item in prsByProduct)
                        {
                            Console.WriteLine("Review Id:{0} \n Product Code:{1} \n Product Name:{2} \n Product Review: ", item.Id, item.ProductCode, item.ProductName, item.Review);
                        }
                        break;

                    default:
                        Console.WriteLine("Invalid option");
                        break;
                }
                Console.WriteLine();
                Console.WriteLine("Press 1 to Add | 2 to List All | 3 to List by Product | 0 to Exit");
                Console.Write("Select an option : ");
                opt = Console.ReadLine();

            }

        }

Emabling Multiple StartUp projects 

  1. In solution explorer, right click on the solution and select Properties
  2. Select Multiple Startup Projects option in Common Properties > Startup Project
  3. For ConsoleHost project change the action to Start and for ConsoleClient project change the action to Start.
  4. Reorder ConsoleHost so that it is above ConsoleClient, therefore starts before ConsoleClient. 

Popular posts from this blog

CUMIPMT and CUMPRINC function

CUMIPMT Cumulative interest payment function allows you to calculate the interest paid for a loan or from an investment from period A to period B. When getting a loan, CUMIPMT function can be used to calculate the total amount of interest paid in the first five months or from period 12 to period 20. A period can be a month, a week or two week. Loan Amount : 350,000.00 APR: 4.5% Down payment: 0.00 Years: 25 Payment per year: 12 From the above data, we can calculate the following: No of Period: 25 × 12 = 300 Periodic Rate: 4.5/12 = 0.375% Here is how you will substitute these values into the function. = CUMIPMT (periodic rate, No of period, vehicle price, start period, end period,  ) = CUMIPMT (0.375, 300, 350000, 1, 5, 0) In an excel worksheet, we use cell address instead of actual values as shown below: Here is the formula view of the worksheet: CUMPRINC Another related function is CUMPRINC. CUMPRINC function is used to calculate cumul

Excel PMT Function

PMT function is very useful for calculating monthly payment required to payback a loan or mortgage at a fixed rate. This function require a minimum of three inputs, periodic rate, number of periods, present value or the loan amount. Here is a simple example. Home Loan: 350,000.00 Interest rate: 4.5% Number of years to repay the loan: 25 Note: To calculate monthly payment, we need to find the monthly rate and number of months as shown above. Then it is simply a matter of substituting the values into the payment function, as shown in the formula view below.

BCG's Brand Advocacy Index

The Boston Consulting Group's (BCG) Brand Advocacy Index (BAI) is a metric developed to help companies measure the degree of customer advocacy for their brands. BAI focuses on the likelihood of customers to recommend a brand to others, which is a powerful indicator of brand strength and customer loyalty. Unlike other customer satisfaction or loyalty metrics, BAI emphasizes the importance of customer referrals and word-of-mouth marketing. BAI is calculated based on a survey where customers are asked about their willingness to recommend a brand to their friends, family, or colleagues. The responses are then used to compute a score, which ranges from -100 to 100. A higher BAI score indicates that a brand has more advocates who are likely to recommend the brand to others, while a lower score suggests that the brand has fewer advocates or even a higher number of detractors. BCG's research has shown that companies with higher BAI scores tend to experience higher growth rates and bett