Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WCF应用及应用;WCF服务库理解_C#_.net_Wcf_Web Services_Rest - Fatal编程技术网

C# WCF应用及应用;WCF服务库理解

C# WCF应用及应用;WCF服务库理解,c#,.net,wcf,web-services,rest,C#,.net,Wcf,Web Services,Rest,观看一些视频,他们谈论端点,我不确定在wcf RESTful服务中基址和端点的区别是什么 为什么在使用rest时要在合同区域中声明URL?我是说wcf和restful wcf有什么区别?猜猜是WCF作为一个独立的服务,您一次使用整个服务,还是它一次服务一个人?restful可以在任何给定的时间为许多独特和不同的客户端应用程序/解决方案提供服务?没有真正了解wcf和restful wcf之间的区别吗 如果我创建了一个解决方案wcf服务库和一个“主机”程序,比如一个允许post get和delete

观看一些视频,他们谈论端点,我不确定在wcf RESTful服务中基址和端点的区别是什么

为什么在使用rest时要在合同区域中声明URL?我是说wcf和restful wcf有什么区别?猜猜是WCF作为一个独立的服务,您一次使用整个服务,还是它一次服务一个人?restful可以在任何给定的时间为许多独特和不同的客户端应用程序/解决方案提供服务?没有真正了解wcf和restful wcf之间的区别吗

如果我创建了一个解决方案wcf服务库和一个“主机”程序,比如一个允许post get和delete等的控制台应用程序,那么我创建了另一个应用程序并添加了第一个SOUTIONS服务库的服务引用,然后我应该能够检索数据和post数据等。这很好。但是rest到底对服务做了什么,使它与众不同呢?

那么这是否意味着你必须创建主机,你会怎么做

通过使用ServiceHost类的实例,如果您在类似windows应用程序或服务的代码中执行此操作,请遵循以下格式:

 var host = new ServiceHost(typeof(ServiceClassToHost));
 host.Open();
另外,您如何定义此服务?它是否仅在web.config文件中,您是否声明url和端口号?因为看了一些视频,他们谈到了端点,我不确定基址和端点在REST方面有什么不同

baseaddress问题的一个好答案:

正如您所猜测的,在IIS中托管时,baseAddresses元素被完全忽略。服务的基址由放置wcf服务的网站和虚拟目录确定。 即使是自托管,也不需要基本地址。这只是一种方便,避免了您必须为每个端点输入完整地址。如果存在,端点可以具有相对地址(即相对于基址)。

从这里开始,当我制作客户端应用程序或可消费web应用程序时,我在尝试将服务添加到解决方案时,只需通过“添加服务引用”键入托管服务库的web服务器的url,然后我就可以自由地向服务器和从服务器传输数据了

如果您希望在VS内部添加服务引用,那么它所做的是创建作为客户端使用的代理,另一个路由是手动滚动您自己的代理,或者使用svcutil.exe从命令行生成代理


我不能回答其余的问题,对不起

哎呀……一下子问了12个问题。:)每天最多6个问题,所以我必须让每个问题都有价值我并不是说每个人的信息都是“一个问题中有很多问题”,我希望有人能给出一个对wcf和restful wcf有感觉的答案,如果你明白我的意思的话?你的问题太广泛了,不可能在一篇文章中合理地回答,MSDN有一些很好的参考资料@KirstyWhite这里有一篇关于MSDN Restful和WCF的伟大文章。。。谢谢马克的回答,很抱歉我不得不重新编辑我的问题,因为它过于笼统,但你的答案仍然相关!