首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >WCF的替代方案

WCF的替代方案
EN

Stack Overflow用户
提问于 2009-08-11 19:29:08
回答 5查看 21.6K关注 0票数 19

我目前正在使用WCF实现一个Silverlight应用程序,用于客户端和服务器之间的通信。我听说在使用WCF时,我们一定要在客户端使用一些Microsoft技术,并且不能轻易地用“任何东西”来代替它--至少用WPF的默认SOAP实现。

所以我的问题是:

  • 是真的吗?
  • 关于Restful WCF服务呢?我设想了一个简单的REST实现,任何客户端都可以通过REST与此服务器端通信。是?不是吗?
  • 除了扔掉WCF之外,还有什么(好的)替代方案?我为什么要这么做呢?
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-08-11 19:33:07

我听说使用WCF我们一定会在客户端使用微软的一些技术

好吧,那你被骗了!

许多供应商和开源库都支持SOAP --它是一个W3C标准,而不是微软特有的想法。

RESTful服务的一个很好的替代方案是ASP.NET MVC,我发现了一种非常简单的方法,可以将方法直接公开为URL。

票数 12
EN

Stack Overflow用户

发布于 2012-01-02 15:20:25

我是维护ServiceStack的核心团队的一员,它是WCF的一个成熟的开源替代方案:现代的、代码优先的、模型驱动的、WCF替代web服务框架encouraging code and remote best-practices,用于创建简洁、干燥、high-perfomance, scalable REST web services

它自动支持JSON、JSONP、CORS头文件以及form-urlencoded/multipart-formdata。在线演示是一个很好的开始,因为它们都使用Ajax。

此外,没有XML配置,也没有代码生成,而且您的“一次编写”C# web服务提供了所有开箱即用的JSON, XML, SOAP, JSV, CSV, HTML端点,如果需要,可以自动使用挂钩插入您自己的Content Types

它还包括提供快速、类型化的端到端客户端/服务器通信网关的generic sync/async service clients

这是创建一个简单web服务所需的所有代码的完整示例,该服务无需任何配置即可自动注册并在所有web data formats on pre-defined and custom REST-ful routes上可用

代码语言:javascript
复制
public class Hello : IReturn<HelloResponse> 
{
    public string Name { get; set; }
}

public class HelloResponse 
{
    public string Result { get; set; }
}

public class HelloService : Service 
{
    public object Get(Hello request)
    {
        return new HelloResponse { Result = "Hello, " + request.Name };
    }
}

上面的服务可以用下面的代码行在C#中调用(不需要任何构建步骤/代码生成):

代码语言:javascript
复制
HelloResponse response = client.Get(new Hello { Name = "World!" });
response.Result.Print(); // => Hello, World

在jQuery中使用:

代码语言:javascript
复制
$.getJSON('hello/World!', function(r){ 
    alert(r.Result); 
});
票数 14
EN

Stack Overflow用户

发布于 2009-08-11 19:47:26

WCF是基于SOAP的(默认情况下也支持REST),可以轻松地与任何能够理解和使用SOAP的客户端进行互操作。

其中包括Java、PHP等语言和系统。

WCF是微软的实现-但这些标准都是国际标准和可互操作的标准。有关标准的任何内容都不是Mircosoft特定的。

Marc

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1262415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档