从客户端调用 WCF 服务

Posted

技术标签:

【中文标题】从客户端调用 WCF 服务【英文标题】:Call a WCF Service from client side 【发布时间】:2012-11-27 23:55:03 【问题描述】:

我将创建一个 WCF 服务(IIS 主机),它将从客户端 javascript 代码中调用。

当我从客户端调用 WCF 时,WCF 是 WCF 库还是 WCF 应用程序类型?

例如: 我有下面的javascript。

function AddFunds() 
    var postObject = 
        myID: myObject.myIDNumber,
        LocationID: myObject.LocationID,
        fundsToAdd: CurrencyFormatted($("#txtAddFunds").val())
;
    $.post('/OrServices/myService.svc/AddFunds',
        JSON.stringify(postObject)
        ).success(AddFundsResult);

一开始,我必须创建 WCF 服务“myService.svc”,但我不确定它是库还是应用程序或无关紧要。

【问题讨论】:

您想了解如何在服务器上创建 WCF 服务吗? 不,当你创建一个 wcf 时,你必须选择模板。或者你必须决定哪一个适合这种情况。 仅供参考,它被称为“WCF 服务”,而不是“WCF”。 【参考方案1】:

this answer 描述了区别:

服务应用程序包括已经为您设置的网站主机。服务库是主机可以引用和启动的服务库。

如果您从服务库开始(推荐),您可以选择 您希望的任何主机(Windows 服务、IIS/ASP.NET,甚至是控制台 应用程序),您只需从新主机中引用您的库。 选择服务应用程序将您的主机限制为仅 IIS/ASP.NET (虽然这可能适合您的目的,但会限制 您可以使用的协议)。

编辑:自从我写这篇文章以来,IIS 中的变化允许更广泛的 ASP.NET 激活服务上的协议,因此选择服务 应用程序的限制比以前少了很多。

如果您只打算在 IIS 中托管,那么我建议您只使用服务应用程序。因为很多工作都是为你完成的。

【讨论】:

以上是关于从客户端调用 WCF 服务的主要内容,如果未能解决你的问题,请参考以下文章

从 .Net 2.0 客户端调用 WCF 服务时如何配置安全性

如何从 android 客户端调用 REST WCF 服务

如何从托管在另一台服务器上的 Web 应用程序调用客户端计算机托管的 Wcf 服务?

从服务内的 JavaScript HTML 调用 WCF 服务

从 Windows 服务调用时出现 WCF 安全异常

使用 WCF 客户端 + cookie 进行 Web 服务调用