不费话了。
主程序代码:
using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Description;namespace ClientTest1
{
class Program
{
static void Main(string[] args)
{
//先定义一个端节点
EndpointAddress epd = new EndpointAddress("http://localhost:10000/ServiceTest1/CPCalculatorHello");问题一:神马是端节点?有神吗用?
问题二:“http://localhost:10000/ServiceTest1/CPCalculatorHello”的意思是不是,地址是“http://localhost:10000/”机器中的“ServiceTest1/CPCalculatorHello”进程
//应用产生的代理类进行计算
CalculatorHelloClient client = new CalculatorHelloClient(new WSHttpBinding(), epd);
问题三:WSHttpBinding()什么意思?有什么作用?
double value1 = 100.00;
double value2 = 15.99;
double result = client.Add(value1, value2);
Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result);
问题四:向建立的通道中写数据,在服务器端只要“Console.ReadLine(); ”就可以了,也不用使用流或是神马判断?
还是向控制台上写数据???
string value3="john";
client.HelloWorld(value3);
Console.WriteLine(value3+" OnLine");
client.Close();
Console.WriteLine("Press <ENTER> 关闭服务");
Console.ReadLine();
}
}
}
主程序代码:
using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Description;namespace ClientTest1
{
class Program
{
static void Main(string[] args)
{
//先定义一个端节点
EndpointAddress epd = new EndpointAddress("http://localhost:10000/ServiceTest1/CPCalculatorHello");问题一:神马是端节点?有神吗用?
问题二:“http://localhost:10000/ServiceTest1/CPCalculatorHello”的意思是不是,地址是“http://localhost:10000/”机器中的“ServiceTest1/CPCalculatorHello”进程
//应用产生的代理类进行计算
CalculatorHelloClient client = new CalculatorHelloClient(new WSHttpBinding(), epd);
问题三:WSHttpBinding()什么意思?有什么作用?
double value1 = 100.00;
double value2 = 15.99;
double result = client.Add(value1, value2);
Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result);
问题四:向建立的通道中写数据,在服务器端只要“Console.ReadLine(); ”就可以了,也不用使用流或是神马判断?
还是向控制台上写数据???
string value3="john";
client.HelloWorld(value3);
Console.WriteLine(value3+" OnLine");
client.Close();
Console.WriteLine("Press <ENTER> 关闭服务");
Console.ReadLine();
}
}
}
:WSHttpBinding() WCF几种绑定的其中一种。。是基于 http/https协议进行消息交互的 算是升级版的 basicHttpBinding.. 不支持双工传输模式
http:// 这个是用的协议,如果你用netTcpBingding 就要变成net.tcp://(好像这么写,有点忘了)
localhost 请求地址,即IP
10000 端口而后面的就是服务端配置文件 App.Config 中所定义的端节点所支持的路径
说白了就是他监听的路径。更深的东西可以看看相关资料
WSHttpBinding()什么意思?有什么作用
这个问题2楼已经说了,实际上他就是声明了你所使用的协议,与传输数据的方法
double result = client.Add(value1, value2);
Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result);这个你也结合上面的看,result是调用client的方法,也就是服务端在本地映射的客户端,进行方法Add的方法所得到的结果
而他的输出也是在客户端上输出的,并不是在服务器。
如果服务端是通过控制台宿主架设的,那可以直接Console.WriteLine 在服务器上进行输出。这个是没问题的
WCF是系统模型,它利用 “socket tcp udp”,完成 “webservice ,MSMQ,remoting”三种方式的通信