[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();
}
}
}