当前位置:编程学习 > C#/ASP.NET >>

两个web service用到同一个类,客户端怎样才能只得到一个类信息

比较拗口,我都不知道该怎么提问。
简单来说是这样的:
服务器端定义了一个类叫Class1,又定义了两个服务分别叫WebService1,WebService2。WebService1和WebService2的方法都用到了Class1。
当客户端引用两个WebService时,就有WebService1.Class1,WebService2.Class1两个不同命名空间里的类。
而实际上这两个类应该都是服务器端定义的Class1类,是相同的。
请问如何处理,才能在客户端得到一个关于Class1的类型信息?

由于WebService1和WebService2都很大,做的事情也不一样,所以不想把两个WebService合成一个。 
客户端引用了Service1和Service2之后,就有两个Class1,分别叫Service1.Class1和Service2.Class1。
而实际上这两个类应该是一样的,而不是两个不同的,这样就产生了一个冗余的Class1类 --------------------编程问答-------------------- 手动生成或改写客户端代理代码...把Class1的定义分离为独立DLL复制到客户端,服务端和客户端分别添加引用... --------------------编程问答-------------------- 不明白楼上的意思,能不能说详细点,我之前用的Java,对.net不是很熟,呵呵 --------------------编程问答-------------------- 是不是这个问题很难,没见到大家踊跃参与呢? --------------------编程问答-------------------- http://www.zzyuli.com/ --------------------编程问答-------------------- 将Class1单独编译成一个DLL,然后再客户端进行引用。
手动修改客户端创建的Web服务的代理类,去掉客户端自动产生的Class1的定义部分,并在其头部加入Using XXX (Class1 的命名空间)。 --------------------编程问答--------------------
引用 5 楼 dqdan 的回复:
将Class1单独编译成一个DLL,然后再客户端进行引用。
手动修改客户端创建的Web服务的代理类,去掉客户端自动产生的Class1的定义部分,并在其头部加入Using XXX (Class1 的命名空间)。


我用了这个方法,不过也避免不了冗余的类,所以就放弃了。 --------------------编程问答--------------------
引用 6 楼 liyf155 的回复:
引用 5 楼 dqdan 的回复:将Class1单独编译成一个DLL,然后再客户端进行引用。手动修改客户端创建的Web服务的代理类,去掉客户端自动产生的Class1的定义部分,并在其头部加入Using XXX (Class1 的命名空间)。 

我用了这个方法,不过也避免不了冗余的类,所以就放弃了。


不明白是什么意思!

Class1 在客户端和服务端都是同一个DLL里边的同一个类。没有产生副本,怎么会冗余呢? --------------------编程问答-------------------- ...  去看看多线程的单件模式,就明白了。  
补充:.NET技术 ,  Web Services
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,