社区
Web Services
帖子详情
Webservice 类重名问题
Alzzl
2010-08-29 05:05:48
我有个公共类 ClassA
webservice端和客户端都需要调用这个类
但是当将这个类加入webservice的引用时 webservice编译时自身会创建个同名类ClassA
这样的话 当客户端需要使用这个类的时候必须加上命名空间前缀 比较麻烦
请问有什么方法可以解决这个问题
...全文
265
9
打赏
收藏
Webservice 类重名问题
我有个公共类 ClassA webservice端和客户端都需要调用这个类 但是当将这个类加入webservice的引用时 webservice编译时自身会创建个同名类ClassA 这样的话 当客户端需要使用这个类的时候必须加上命名空间前缀 比较麻烦 请问有什么方法可以解决这个问题
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gongsun
2010-09-02
打赏
举报
回复
客户端和webservice 的bin 都引用你那个 共用的类库。
生成解决方案的时候,bin中会生成dll。
然后不论是客户端 还是 web服务中 只要 using就可以了。
烈火蜓蜻
2010-09-02
打赏
举报
回复
[Quote=引用 7 楼 sunpire 的回复:]
引用 6 楼 linux7985 的回复:
2.无法序列化的对象如何作为参数传递
不存在这个问题吧。
为什么不使用 [DataContract]数据契约 来标识复杂对象的序列化呢?
WCF中能使用,Web Service 中也应能使用吧。
[/Quote]
DataContract是不能用在WebService
Sunpire
2010-09-01
打赏
举报
回复
[Quote=引用 6 楼 linux7985 的回复:]
2.无法序列化的对象如何作为参数传递
[/Quote]
不存在这个问题吧。
为什么不使用 [DataContract]数据契约 来标识复杂对象的序列化呢?
WCF中能使用,Web Service 中也应能使用吧。
烈火蜓蜻
2010-09-01
打赏
举报
回复
1。Webservice中的方法重载问题
(1)在要重载的WebMethod上打个MessageName标签
比如:
[WebMethod(MessageName = "HelloWorld1")]
public string HelloWorld(){
return "HelloWorld";
}
[WebMethod(MessageName = "HelloWorld2")]
public string HelloWorld(string msg){
return msg + "HelloWorld";
}
(2)此外还要在class上修改WebServiceBinding特性,如下:
[WebServiceBinding(ConformsTo = WsiProfiles.None)]
public class UploadService : System.Web.Services.WebService
{
...
}
2.无法序列化的对象如何作为参数传递
比如:
void TestMethod(MyObject p){
...
}
这里MyObject是一个自定义类,并且无法序列化,如果你的WebService里有这样的方法,那么在浏览asmx时,会提示“MyObject无法序列化,因为没有无参数的构架函数”之类,解决办法有二个:
(a)修改MyObject,使其序列化,但如果MyObject已经封装成程序集(dll)无法修改的话,请看第二种方法
(b)将void TestMethod(MyObject p)修改为
void TestMethod(Object t){
MyObject p = t as MyObject
...
}
即把Object做为参数传入,然后在方法内部再Cast为MyObject,虽然这要增加了额外的拆箱,封箱操作,但总比不能用要好
另外,讲几个小技巧,如果要给方法增加描述说明,让引用webService的人更容易看懂,可以在[WebMethod(MessageName = "HelloWorld1")]后再增加一个Desciption="xxx",即
[WebMethod(MessageName = "HelloWorld1", Description = "描述内容,支持Html语法哦")]
同样整个WebService也可以增加描述,在class上增加Desciption属性,即
[WebService(Namespace = "http://www.yourdomain.com/",Description="服务说明,支持html语法")]
[WebServiceBinding(ConformsTo = WsiProfiles.None)]
public class UploadService : System.Web.Services.WebService
{
...
}
JiuchunYoung
2010-08-29
打赏
举报
回复
3楼上的答案给你了 你可以看看学习一下
porschev
2010-08-29
打赏
举报
回复
什么意思?
Sunpire
2010-08-29
打赏
举报
回复
参考这篇
http://topic.csdn.net/u/20100817/11/94a60ad0-383f-4574-b2e4-9932dfd37c14.html?70431
6楼。
如果客户端的低层项目中已经存在ClassA的定义,那么在高层项目 添加服务引用/Web引用 时,自动生成的代码中是不会包含有 ClassA 的定义的。
Peter200694013
2010-08-29
打赏
举报
回复
客户端
使用using 引入命名空间
使用类时就不用加了...
Peter200694013
2010-08-29
打赏
举报
回复
你是说,客户端使用时不加命名空间
webservice
接收安卓上传图片
8. **文件存储策略**:根据需求,服务器可能需要设定特定的文件命名规则,以避免文件
重名
冲突。同时,考虑存储空间管理,可能需要定期清理不再使用的旧图片。 总的来说,从Android通过
WebService
上传图片到C#服务器...
webService
配置
- 为了避免服务
重名
导致的
问题
,每个服务的名称应保持唯一。 5. **服务配置文件发布**: - 对于带有包名的
类
,我们可以使用服务配置文件(services.xml)来发布服务。例如,创建一个名为`CalculateService`的
类
,...
WebService
下的计算器(小程序 )
WebService
的操作步骤如下 1. 新建一个项目BookShop 2. 添加新建项 Web服务 :BookShop
WebService
.asmx后缀 连接字符串 编写需要调用的方法() 3. 测试调用一下《XML》中 4. 对整个项目右击:添加web引用 解决...
WebService
下的网上书店管理小程序(测试)
WebService
的操作步骤如下 1. 新建一个项目BookShop 2. 添加新建项 Web服务 :BookShop
WebService
.asmx后缀 连接字符串 编写需要调用的方法() 3. 测试调用一下《XML》中 4. 对整个项目右击:添加web引用 解决...
webservice
上传 asp.net界面
3. 存储文件:将文件流保存到服务器上的指定位置,可能需要考虑文件命名、
重名
处理和文件大小限制。 4. 返回响应:向客户端发送确认消息,可能包括文件存储路径或者上传状态。 在ASP.NET界面方面,我们需要创建一个...
Web Services
12,166
社区成员
16,325
社区内容
发帖
与我相关
我的任务
Web Services
.NET技术 Web Services
复制链接
扫一扫
分享
社区描述
.NET技术 Web Services
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章