【问题标题】:WebService Within a Web ApplicationWeb 应用程序中的 WebService
【发布时间】:2012-12-23 00:02:20
【问题描述】:

我有这个项目是由一些傻瓜开发的,他决定在使用它的 Web 应用程序中嵌套一个依赖的 WebService。这会导致发布更改出现问题,因为如果不先发布更改就无法更新 WebService,并且如果 WebService 在发布位置没有更新,就无法发布更改。这完全是自相矛盾的。

关于如何简单地解决这个问题的任何建议?我认为最好以某种方式将 WebService 提取到一个可以独立发布的单独项目中(这毕竟是最佳实践,不是吗?)。另请注意,我已将项目更新为 .NET 4,它可以选择使用 WCF 服务,但是如果这需要对项目进行重大修改,那么我希望尽可能简单。

很难提供任何代码来说明这个问题,但这里是项目的基本层次结构。

Solution
    Project
        WebService
            MyService 'This is a reference to the Web Service
        Service
            MyService.asmx 'This is the actual code for the Web Service
        [Other Code Pages within the project]

编辑:如果我这样做会怎样?这样它们就可以相互独立地编译和发布。

Solution
    Project - App
        Web Reference
            MyService 'This is a reference to the Web Service
        [Other Code Pages within the project]
    Project - Service
        Service
            MyService.asmx 'This is the actual code for the Web Service

剩下的唯一决定(假设这是推荐的方法)是创建 WCF 服务库还是 WCF 服务应用程序? (请记住,此服务仅供该应用使用,不与任何其他应用共享)。

【问题讨论】:

    标签: vb.net wcf web-services web-applications nested


    【解决方案1】:

    我肯定会将 Web 服务提取到一个新项目中。

    此外,如果项目之间还有其他通用的“共享”代码(类、模块),您有几个选择,具体取决于需要共享多少代码:

    1) 链接来自一个项目或另一个项目的源文件(这样您就只有一个类的物理副本)

    2) 创建每个项目引用的 DLL 项目,然后将共享代码移动到该项目。

    3)(显然)在每个项目中复制代码。

    【讨论】:

    • 值得注意的是,这个特定的网络服务只用于这个应用程序。至于共享 DLL,我对库/程序集的这个概念很熟悉,但不知道如何通过 Web 服务实现这一点。
    • 您的方法绝对是我的建议。对于 WCF 的决定,我建议你看看stackoverflow.com/questions/1423065/…
    猜你喜欢
    • 2011-02-18
    • 2013-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多