1. 打开上节的解决方案,为JackWangServiceClient工程添加一个App.config文件
2. 修改App.config的文件如下
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<client>
<endpoint name="MyEndPoint" binding="basicHttpBinding"
contract="JackWangServiceClient.ICalc" address="http://localhost:9000/Add" />
</client>
</system.serviceModel>
</configuration>
3. 修改Program.cs文件,绿色是注释掉的部分,由于使用配置文件,我们需要使用ChannelFactory<T>的实例。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
namespace JackWangServiceClient
{
[ServiceContract]
public interface ICalc
{
[OperationContract]
long Add(int a, int b);
}
class Program
{
static void Main(string[] args)
{
//ICalc proxy = ChannelFactory<ICalc>.CreateChannel(new BasicHttpBinding(),
// new EndpointAddress("http://localhost:9000/Add"));
ChannelFactory<ICalc> channelFactory = new ChannelFactory<ICalc>("MyEndPoint");
ICalc proxy = channelFactory.CreateChannel();
long result = proxy.Add(50, 60);
Console.Out.WriteLine("result from server is:" + result);
Console.ReadLine();
}
}
}
这样,当服务器修改配置方式时,我们不用改变代码,直接修改配置文件即可。