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

来源:百度知道 编辑:UC知道 时间:2024/05/25 11:48:58
比较拗口,我都不知道该怎么提问。
简单来说是这样的:
服务器端定义了一个类叫Class1,又定义了两个服务分别叫WebService1,WebService2。WebService1和WebService2的方法都用到了Class1。
当客户端引用两个WebService时,就有WebService1.Class1,WebService2.Class1两个不同命名空间里的类。
而实际上这两个类应该都是服务器端定义的Class1类,是相同的。
请问如何处理,才能在客户端得到一个关于Class1的类型信息?
ps:
由于WebService1和WebService2都很大,做的事情也不一样,所以不想把两个WebService合成一个。
一个类文件内容如下:
namespace WebService1
{
public class Class1
{
public int _field;
}
}
Service1定义如下:
namespace WebService1
{
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
public class Service1 : System.Web.Services.WebService
{
[WebMethod]
public Class1 GetClass()
{
Class1 model = new Class1();
model._field = 1;
return model;
}
}

通过vs2005自带工具 command prompt 使用命令wsdl生成 这两个webservice的实体类
你把哪个class1放到一个library项目中去
两个webservice同时引用这个lib

你可以进行通过实例化来得到两个WEBSERVICE的对象

最好是你在做WEBSERVICE的时候就给一个有意义的名字,这样你在调用的时候也会一目了然,也不会出现这种二定义的情况

另外一种方法 就是你在添加WEBSERVICE引用的时候指定不同的名称,然后就可以进行区分了

还是没有听明白你的问题是啥意思

多态解决不了么?