2012-11-07 40 views
0

我想知道是否可以在同一个项目(web应用程序)中添加对web服务的引用,即我在同一个项目中添加了一个引用,定义。在同一个项目中添加对服务的引用

之所以这样做是因为

  • 托管服务变得更容易(承载Web应用程序时,就会自动托管)。
  • 调用服务是动态完成的,即服务url在运行时被提取(从db),并调用该特定服务上的方法。 (这是一个在许多域中托管的Web应用程序,每个应用程序都知道其他应用程序的服务URL(存储在数据库中的URL),因为我有服务的引用,所以我可以在运行时通过更新Url代理并调用它。)

此外,我不确定是否要这样做。我看到很多人建议使用WCF而不是Web服务,但是我不知道如何用WCF完成同样的事情。

在SO - Add Service Reference to WCF Service within Same Project上已经有一个关于这个问题,但我认为它不适用于我的情况。

回答

1

如果服务已经在您的项目中,您可以直接使用它,而不需要Web服务代理。

毕竟,Web服务用于将应用程序的功能暴露给外部世界,而不是系统的其他部分。

+0

就像我说的那样,服务URL在运行时被取出(它可能(并且大部分会)指向另一个web应用程序)并相应地调用。所以实际上,我正在访问该Web应用程序的功能/数据。 – 1nfected

+0

更好地将您的服务转移到解决方案中的单独项目中。然后,您可以发现并引用该服务没有问题 –

+0

我可以这样做,但这意味着每次我托管Web应用程序的新副本时,我都必须托管Web服务。如果我将Web服务与Web应用程序保持在同一个项目中,这项工作将被保存。无论如何,为什么这种做法不好..? – 1nfected

相关问题