webservices问题,可以用out参数吗?如果可以怎么用!

comszsoft 2008-07-02 06:12:14
webservices问题,可以用out参数吗?如果可以怎么用!
另 谁可以给个详细介绍的网址,google和baidu了还是没能找到!
...全文
474 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
天涯人6 2010-05-19
  • 打赏
  • 举报
回复
我也试过像这样用Webservice好像不支持,无法返回还报错。
[WebMethod]
public void getPwdNick(int userid,out string pwd,out string nick)
{
}
所以,我改用:定义一个数组,把2个输出的值放到数组里就可以了。
yoyyoyyo 2009-08-05
  • 打赏
  • 举报
回复
帮忙顶一下
Griot 2008-07-04
  • 打赏
  • 举报
回复
帮忙顶以下啦!
jinjazz 2008-07-04
  • 打赏
  • 举报
回复
>>05以及之前版本都回吧void函数的第一个out参数作为改变为非out函数

改变为非void函数并且省略out参数作为返回值
jinjazz 2008-07-04
  • 打赏
  • 举报
回复
10的情况可能是vs08设计改过了,05以及之前版本都回吧void函数的第一个out参数作为改变为非out函数,这个你可以通过自己修改Reference.cs来改变,但是不提倡这么改。
jinjazz 2008-07-04
  • 打赏
  • 举报
回复
没有问题阿,你的两个out参数,第一个座位webmethod的返回值了

[WebMethod]
public void getPwdNick(int userid,out string pwd,out string nick)
{
}

添加web引用后
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/getPwdNick", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
[return: System.Xml.Serialization.XmlElementAttribute("pwd")]
public string getPwdNick(int userid,out string nick) {
object[] results = this.Invoke("getPwdNick", new object[] {
userid});
nick = ((string)(results[1]));
return ((string)(results[0]));

}


这段代码在vs中点击显示所有文件,然后再web refences下面localhost-Reference.map-Reference.cs中
pinhailinfeng 2008-07-04
  • 打赏
  • 举报
回复
顶下吧
wdzr_826 2008-07-03
  • 打赏
  • 举报
回复
看看,有人测试有结果了
superplayboy 2008-07-03
  • 打赏
  • 举报
回复
是不是你的webservices项目里有多个getPwdNick的WebMothod,webservice是不允许重载的,只能用getPwdNick2,getPwdNick3来区别
xtra6714 2008-07-03
  • 打赏
  • 举报
回复
经测试没有任何问题
环境:win03+vs08

[WebMethod]
public void getPwdNick(int userid, out string pwd, out string nick)
{
pwd = "1";
nick = "2";
}


WebService1 s = new WebService1();
string pwd = "", aanick = "";
s.getPwdNick(1, out pwd, out aanick);
Response.Write(pwd + ";;" + aanick);
comszsoft 2008-07-03
  • 打赏
  • 举报
回复
没人顶 啊
comszsoft 2008-07-03
  • 打赏
  • 举报
回复
ding,还是没有解决,郁闷啊、
comszsoft 2008-07-03
  • 打赏
  • 举报
回复
谢谢晓风和高歌的热心答复
comszsoft 2008-07-03
  • 打赏
  • 举报
回复
没有哦,怪事啊,你们测试的时候是从不同的项目引用的吗,我的是从另外的项目引用的,这个很重要
amandag 2008-07-02
  • 打赏
  • 举报
回复
明天有空用soap试一下
amandag 2008-07-02
  • 打赏
  • 举报
回复
晓风也来了..测试了一下,还真的只能用一个输出参数..
Jinglecat 2008-07-02
  • 打赏
  • 举报
回复
经过测试, 我的 [color=#99CC00HelloWorld[/color] 完全没有问题,

而 LZ 的 getPwdNick 无论如何改,的确会丢失第二个 out 参数,难道什么关键字冲突了?


[WebMethod]
public string HelloWorld2(out string x, out string y)
{
x = "Hello";
y = "World";
return "Hello World";
}

[WebMethod]
public string HelloWorld3(int n, out string x, out string y)
{
x = "Hello";
y = "World";
return "Hello World";
}


[WebMethod]
public void getPwdNick(int userid,out string pwd,out string nick)
{
pwd = "Hello";
nick = "World";
}
[WebMethod]
public void getPwdNick1(out string pwd, out string nick)
{
pwd = "Hello";
nick = "World";
}

[WebMethod]
public void getPwdNick2(ref int userid, out string pwd, out string nick)
{
pwd = "Hello";
nick = "World";
}
amandag 2008-07-02
  • 打赏
  • 举报
回复
木有碰到
comszsoft 2008-07-02
  • 打赏
  • 举报
回复
我的是webservices在一个项目,然后由另外一个项目去引用,web引用之后竟然丢失参数
比如:

webservices项目为:


public void getPwdNick(int userid,out string pwd,out string nick)
{
.....
}


web引用之后剩下两个参数,方法如下:

public void getPwdNick(int userid,out string pwd) // 少了一个 out string nick
{
.....
}


不知道为什么会这样,你们有谁遇到过吗,要怎么解决啊
changjiangzhibin 2008-07-02
  • 打赏
  • 举报
回复
确实可以       
加载更多回复(1)

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧