【问题标题】:How to use WCF service如何使用 WCF 服务
【发布时间】:2011-06-13 07:15:38
【问题描述】:

我们公司有2个项目,第2个通过ASP.NET网站托管的WCF服务调用第1个。

我的想法是部署带有托管 WCF 服务的 asp.net,第二个团队将向他们的项目添加“服务引用”。并且使用自动生成的类将实例化客户端以进行服务并调用其方法。

但是,他们坚持让我创建一个包含由 WCF 服务实现的接口(合同)的 DLL,并且他们将添加对这些 DLL 的引用。只有使用 dll 中的这个接口,他们才能进行通信。

“消费”WCF 服务的正确方法是什么?

附:我已经阅读了很多关于如何使用/托管 WCF 服务的内容,但仍然可以看到最好的方法。

附言我们在 VS 2008、.NET 3.5 下工作,但也欢迎 VS2010 和 .NET 4.0 的想法。

【问题讨论】:

    标签: .net asp.net wcf


    【解决方案1】:

    所以团队 2 希望您创建一个可以包含在项目中的客户端实现?对我来说似乎很懒惰。听起来你们需要弄清楚你们的企业 SOA 战略是什么。如果没有策略(或希望得到一个)。团队 2 应该创建他们自己的项目,并在需要时使用他们可以引用的外观。

    【讨论】:

    • 不,这不是懒惰的情况。他们有一些政策只将服务用作程序集......是的,他们可以自己创建这些程序集。对我来说现在是一个问题:管理这些事情的最佳实践是什么。 Pratik 建议的方法(他们将使用 wsdl)对我有好处。但目前,我不知道他们将如何使用它(我需要谷歌)
    【解决方案2】:

    为第二组生成客户端代理 dll 很简单。使用windows SDK中的svcutil命令行工具生成代理类,然后使用msbuild构建代理dll。这甚至可以在您的构建过程中实现自动化,并且在每次构建时将 dll 放到一个已知的共享位置。

    也就是说,这不是 SOA 的最佳实践,因为对于 SOA,WSDL 应该定义接口,而这正是您应该提供给第二个团队的内容。这可以通过 url 或作为文件放置。

    【讨论】:

    • 他们如何使用我的 wsdl?
    • 因为他们是一个 .Net 项目,他们应该使用 svcutil 创建客户端代理文件并将其添加到他们的项目中。这可以使用调用 svcutil 的简单批处理文件作为预构建步骤来完成。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-14
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    相关资源
    最近更新 更多