[1]创建控制台项目
[2]添加=>新建项,选择“WCF服务”,并命名文件名,即服务类名。如:“MyFirstService.cs”,VS工具将会创建两个文件:MyFirstService.cs和IMyFirstService.cs
MyFirstService.cs文件内容如下:
namespace MyWCF
{
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的类名“MyFirstService”。
public class MyFirstService : IMyFirstService
{
public string GetName(int No)//自己添加的
{
return "hello world"+No.ToString();
}
}
}
IMyFirstService.cs文件内容如下:
namespace MyWCF
{
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IMyFirstService”。
[ServiceContract]
public interface IMyFirstService
{
[OperationContract]
string GetName(int No);
}
}
在工程管理器下找到app.config文件,会看到比原来多出一些内容,如下:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="MyWCF.MyFirstService"><!--这里是ABC-->
<endpoint address="" binding="basicHttpBinding" contract="MyWCF.IMyFirstService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8733/theService/" /><!--这里可以修改-->
</baseAddresses>
</host>
</service>
</services>
</system.serviceModel>
编译工程,以管理员运行生成的exe文件。
[3]调用WCF方法
(1)首先创建一个控制台程序
(2)然后右键项目菜单:添加=》服务引用,弹出服务引用窗口
(3)在服务引用地址中,输入WFC配置文件中的:http://localhost:8733/theService/,再点”转到“
(4)命名空间文本框中,输入服务名称,内容随意。如Scale3dcWCF
(5)在入口函数中,添加调用代码,如下:
namespace testWCF
{
class Program
{
static void Main(string[] args)
{//Scale3DCWCF即为引入时命名的服务名
Scale3DCWCF.MyFirstServiceClient client = new Scale3DCWCF.MyFirstServiceClient();
string strName = client.GetName(2190);
Console.Write(strName);
Console.ReadLine();
}
}
}