Web应用程序中的WebService

时间:2013-01-09 01:07:55

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

我有一个goofball开发的这个项目,他决定在使用它的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服务应用程序? (请注意,此服务仅供此应用使用,不会被任何其他应用共享)。

1 个答案:

答案 0 :(得分:2)

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

此外,如果项目之间存在其他共享的“共享”代码(类,模块),则有几种选择,具体取决于需要共享的代码量:

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

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

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