Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net Web应用程序中的Web服务_Vb.net_Wcf_Web Services_Web Applications_Nested - Fatal编程技术网

Vb.net Web应用程序中的Web服务

Vb.net Web应用程序中的Web服务,vb.net,wcf,web-services,web-applications,nested,Vb.net,Wcf,Web Services,Web Applications,Nested,我有一个由某个傻瓜开发的项目,他决定在使用它的Web应用程序中嵌套一个依赖的Web服务。这会导致发布更改时出现问题,因为如果不先发布更改,则无法更新Web服务;如果不在发布位置更新Web服务,则无法发布更改。这完全是自相矛盾的 有没有关于如何简单地解决这个问题的建议?我认为最好是以某种方式将Web服务提取到一个单独的项目中,该项目可以独立发布(这毕竟是最佳实践,不是吗?)。还请注意,我已经将项目更新为.NET4,它可以选择使用WCF服务,但是如果这需要对项目进行重大修改,那么我希望尽可能简单 很

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

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

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

解决方案
项目
网络服务
MyService'这是对Web服务的引用
服务
MyService.asmx'这是Web服务的实际代码
[项目内的其他代码页]
编辑:如果我这样做了怎么办?这样它们就可以彼此独立地编译和发布

解决方案
项目-应用程序
网络参考
MyService'这是对Web服务的引用
[项目内的其他代码页]
项目服务
服务
MyService.asmx'这是Web服务的实际代码

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

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

此外,如果项目之间存在其他“共享”代码(类、模块),则根据需要共享的代码数量,您有两个选择:

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

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


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

值得注意的是,此特定web服务仅用于此应用程序。至于共享DLL,我对库/程序集的概念很熟悉,但不知道如何在web服务中实现这一点。您的方法绝对是我所建议的。对于WCF的决定,我建议你看看