webservices问题,可以用out参数吗?如果可以怎么用!
另 谁可以给个详细介绍的网址,google和baidu了还是没能找到!
------解决方案--------------------------------------------------------
测试过可以
Service.cs
- C# code
using System;using System.Web;using System.Web.Services;using System.Web.Services.Protocols;[WebService(Namespace = "http://tempuri.org/")][WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]public class Service : System.Web.Services.WebService{ public Service () { //如果使用设计的组件,请取消注释以下行 //InitializeComponent(); } [WebMethod] public string HelloWorld(out int x) { x = 10; return "Hello World"; }}
------解决方案--------------------------------------------------------
确实可以
------解决方案--------------------------------------------------------
木有碰到
------解决方案--------------------------------------------------------
经过测试, 我的 [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";
}
------解决方案--------------------------------------------------------
晓风也来了..测试了一下,还真的只能用一个输出参数..
------解决方案--------------------------------------------------------
明天有空用soap试一下
------解决方案--------------------------------------------------------
经测试没有任何问题
环境: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);
------解决方案--------------------------------------------------------
是不是你的webservices项目里有多个getPwdNick的WebMothod,webservice是不允许重载的,只能用getPwdNick2,getPwdNick3来区别
------解决方案--------------------------------------------------------
看看,有人测试有结果了
------解决方案--------------------------------------------------------
顶下吧
------解决方案--------------------------------------------------------
没有问题阿,你的两个out参数,第一个座位webmethod的返回值了
- C# code
[WebMethod] public void getPwdNick(int userid,out string pwd,out string nick) { }
------解决方案--------------------------------------------------------
10的情况可能是vs08设计改过了,05以及之前版本都回吧void函数的第一个out参数作为改变为非out函数,这个你可以通过自己修改Reference.cs来改变,但是不提倡这么改。