日期:2014-05-18 浏览次数:20457 次
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的返回值了
[WebMethod] public void getPwdNick(int userid,out string pwd,out string nick) { }
------解决方案--------------------
10的情况可能是vs08设计改过了,05以及之前版本都回吧void函数的第一个out参数作为改变为非out函数,这个你可以通过自己修改Reference.cs来改变,但是不提倡这么改。