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.
Monday, May 18, 2009
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.
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....
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
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>
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>
Labels:
ASP web control,
difference,
label,
literal
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.
* 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.
Labels:
ASP.NET and Web Services,
C#,
Create Service,
Internet
Subscribe to:
Posts (Atom)