0

如果我的 MVC 项目正在引用(常规项目引用而不是服务引用)WCF 服务项目,我没有使用 HTTP 进行通信,对吗?

我想让我的 WCF 服务通过 web 上的 HTTP 暴露给多个移动和 3rd 方客户端,但是由于更高的性能,我想在没有 HTTP 的情况下使用我自己的应用程序。

我目前正在做什么来实现这一目标?

4

2 回答 2

1

如果您使用的是项目参考(即它出现在“参考”文件夹下而不是“服务参考”文件夹下),那么您没有使用 HTTP。在这种情况下,您正在直接调用程序集/DLL。我通常开发我的应用程序,以便有一个服务层(有时称为应用程序层),它基本上模仿了 Web 服务提供的 API。如果我不想分发此服务,可以直接引用此程序集。那么实际的 Web 服务只是服务层之上的一个薄层,它提供实际的 WCF 绑定和契约供分布式客户端调用。

于 2012-04-09T14:34:30.900 回答
0

这取决于您如何添加它。如果您是通过“添加服务引用”完成的,并且您的 app/web.config 中充斥着 WCF 客户端设置,那么它可能会通过 HTTP。您应该使用您的配置检查传输和地址设置。如果您看到 HTTP,那么您使用的是 HTTP。

即使您切换到命名管道,仍然存在开销。用于本地通信的最快传输可能是Roman Kiss 开发的NullTransport示例。

于 2012-04-09T14:38:56.043 回答