Sunday, June 28, 2009

Consuming WCF Services hosted in IIS7

To consume services we should conform before that whether there is services or not.
If Wcf services test it before using it with the command 'testwcfclient' along with hosted service path.

first.
1. Add the new website on the builded project and choose ASP.NET website Template
and Give appropriate name as you want.
2. Add reference of service which is hosted in IIS7 by clicking on "service reference"from add reference.

2. make simple asp page to access the services and write some code on .cs file of that page.
3. Dont forget to add reference in .cs page
eg. using ServiceReference1;

4. call services and use its function as in other class and object.
eg. MyCalculatorClient client = new MyCalculatorClient();

here MyCalulator is service name:

5. after writing some code to consume services, build the whole solution and then view the project on browser.

new page will be open in browser and you can use that service by putting the value and accessing result.

Thus you can use the WCF services hosted in II7.

Thursday, June 25, 2009

Difference between string and String in C#

There is such difference in string and String. These can be apply for the same purpose. The only difference between these is String can be used as identifier but string can not.

Monday, May 18, 2009

System.ServiceModel.EndpointNotFoundException: Could not connect

Problem ( Took 2 days to Solve)

When You try to consume Self-hosted WCf services from Windows From in VS 2008. You might get this error quite often...

System.ServiceModel.EndpointNotFoundException: Could not connect to http://localhost:8731/Design_Time_Addresses/MyCalculatorService/MyCalculatorService/. TCP error code 10061: No connection could be made because the target machine actively refused it 127.0.0.1:8731. ---> System.Net.WebException: Unable to connect to the remote server --->

This error is due to the Behavior of WCF service. You need to make Singleton instance of that WCF Service.
so You need to add following code before start of Service Class in Service file.

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]


and again build service or whole solution and Run the Windows From then You get the answer.

Thank You.

Saturday, May 16, 2009

Client program to consume Selfhosted WCF Services in Microsoft Visual Studio 2008

1. add new project by Right clicking on Solution
2. go to Windows tab
3. select Console Application then give some name for consuming name: e.g. CalCAreaClient then click ok.
4. Add System.ServiceModel as reference and also Add WCF Service as a Project reference
5. add using System.ServiceModel; on the program.cs
6. Add service Reference, and discover the service and add it.
7. Add that service reference on the code eg.
using CalcAreaClient.ServiceReference1;
8. Create proxy to access service.
eg.
namespace CalcAreaClient
{
class Program
{
static void Main(string[] args)
{
try
{
CalcAreaWcfServiceClient proxy = new CalcAreaWcfServiceClient();
double calcVal = proxy.CalcAreaSquare(5);
Console.WriteLine("Area of Square = {0}", calcVal);
Console.WriteLine("Press enter to terminate client");
Console.ReadLine();
}
catch (Exception e) {
Console.WriteLine("Error on client program");
Console.WriteLine("error {0}", e);
Console.ReadLine();
}
}
}
}

i thinkall te createria is fulfill. Now just run the serviceHost program first and then build this client program.
from visual studio command promt which is diffferent than normal command promt.

Selfhosting of WCF Services in Microsoft Visual Studio 2008

1. add new project by Right clicking on Solution
2. go to Windows tab
3. select Console Application then give some name for selfhosting name: e.g. CalCAreaWcf then click ok.
4. Add System.ServiceModel as reference and also Add WCF Service as a Project reference
5. add using System.ServiceModel; on the program.cs
6. copy App.Config file from Wcf Service folder to this folder
7. Write some code in program.cs for hosting service
you can write like this:

namespace CalcAreaWcf
{
class Program
{
static void Main(string[] args)
{
try{
ServiceHost CalculatingAreaService = new ServiceHost(typeof(CalcAreaWcfService));
CalculatingAreaService.Open();
Console.WriteLine("Cheers!!! Service is Running, Press Enter to close Serive");
Console.ReadLine();
CalculatingAreaService.Close();

}
catch(Exception e){
Console.WriteLine("Problem occur");
Console.WriteLine("Error {0}", e);
Console.ReadLine();
}
}
}
}

Now everything is done. You need to build the hostingservice by Rclicking on Hosting file.
I thing, now service is build u can go and see it from Command prompt of respective project location
projectfile\bin\debug\CalculatingAreaService.exe

Hurrey! Service is Running....

Friday, May 15, 2009

How to write WCF Services in Microsoft Visual Studio 2008

How to write WCF Services in Microsoft Visual Studio 2008

open visual studio 2008
1. Create New project
2. go to WCF tab
3. select WCF Service Library
4. Name the folder name called library: e.g. Calculator and then click ok.
5. Rename the Services name of project as you wish
6. general convention is just adding the word Service after library name e.g.: CalculatorService on .cs file and interface file ICalculatorService.cs
7. make some function like as: add
on CalculatorService.cs file

namespace CalcAreaWcf
{
public class CalcAreaWcfService : ICalcAreaWcfService
{
public double CalcAreaSquare(float fY)
{
double calcValue = fY * fY;
return calcValue;
}

}
}

on ICalcAreaWcfService.cs file

namespace CalcAreaWcf
{

[ServiceContract]
public interface ICalcAreaWcfService
{
[OperationContract]
double CalcAreaSquare(float fY);
}
}


8. add reference: System.ServiceModel
9. change the name of service on app.config as well. eg CalcAreaWcfService and ICalcAreaWcfService
10. build the service

i thing it should build, if u want to run the service then press Ctrl+F5 you can see the running service on localhost.


Cheers! then you are able to build WCF Service

Monday, May 11, 2009

Difference between Label and Literal in ASP.NET

ASP.NET is rich on user controls, there are many controls availabe to use in web form.
like as
1. Literal
2. Label
Literal and label are used to display plain text in the website. But it has some inherit differences. Label automatically takes XHTML control which make the text's look and feel better. where as literal doesnot take that tag so became thin text. But it is more usable for some place where XHTML is not possible to use like as head of the web forms.

if we need to change the head of page dynamically then literal only the option rather than label

e.g.
<-head>
<-title><-asp:literal id="literal1" runat="server" text="this is text for display"><-asp:literal>
<-/title>
<-/head>

Tuesday, May 5, 2009

ASP.NET and Web Services

* C# can be a main language to code in ASP.NET other VB.NET or C++ as well.
* Web service can be constructed with .ASMX extension and can be done with note pad, word pad or visual studion 2008.
* Visual studio will be easier.
* can be access the web service with SOAP or HTTP GET or HTTP POST.
* Web service will be written like as simple Object oriented programing in C#.
* we can write the functionality as contract to access from client. that contract will be called using SOAP or HTTP method to access.
* this contract is written in Standard lagnuage called WSDL. and Web services will be accesed through that WSDL of that particular services.