本地WCF服务的优势是什么



我有几个WCF服务,它们包含IIS上托管的业务逻辑代码
由于安全问题,它只在本地调用,并且永远是
我正在考虑使用带有NetPipe绑定的自托管应用程序,并遇到了一个问题:在我的情况下,使用WCF有任何优势吗?我可以直接使用这些库。

因此,与其有

// Server
ServiceHost sh = new ServiceHost(typeof(MyService), 
                                 new Uri("http://localhost:3000/myservice"));
sh.Open();
// Client
var ch = ChannelFactory<IMyService>.CreateChannel(new BasicHttpBinding(), 
             new EndpointAddress("http://localhost:3000/myservice"));
var result = ch.MyMethod();

我可以简单地做

var result = new MyService().MyMethod();

它将提高性能,因为它不会实例化服务、序列化/反序列化数据等。

在我的案例中,除了可扩展性和弹性之外,WCF还有什么优势?不放弃WCF的使用有什么意义吗?

第页。S.如果你对"为什么使用WCF"感兴趣,那么计划将它们作为可扩展的WsHttpBinding服务,远程调用。然而,我们公司的信息安全专家拒绝了这种架构。现在,我无法在是否继续使用WCF之间做出选择。

没有优势。

如果你有以下一种或多种情况,WCF就会受到激励:

  • 多个应用程序需要调用服务
  • 缓存
  • 不同业务领域的一部分
  • 单独交易处理
  • 所有使用者都是客户端(DB调用通常应该在服务器端)

不管这些东西是用于本地应用程序还是远程应用程序。

由于安全问题,它只在本地调用,并且始终是

如果这是一个100%的铁保证,那么是的,正如jgaufin所说,你最好在过程中消费服务,而不是在过程外消费。

然而,据推测,该服务最初是在进程外托管的,这是有原因的。在做出这样的改变之前,最好知道这个原因是什么。

如果它已经使用了netpipe,那么性能增益将很小,所以除非你在性能方面遇到它,否则这可能无法证明更改它的成本是合理的

最新更新