向WebService传值的问题

stromboy007 2009-03-03 10:13:15
========WebService====
public class CasadingService : System.Web.Services.WebService
{

public System.Xml.XmlDocument _document;
public string[] _hierachy;
public string path;

public System.Xml.XmlDocument Document
{
get
{
return _document;
}
set { _document = value; }
}
public string[] Hierachy
{
get
{
return _hierachy;
}
set { _hierachy = value; }
}
[WebMethod]
public AjaxControlToolkit.CascadingDropDownNameValue[] GetDropDownContents(string knownCategoryValues, string category)
{
System.Collections.Specialized.StringDictionary knowCategoryValuesDictionary = new System.Collections.Specialized.StringDictionary();
knowCategoryValuesDictionary = AjaxControlToolkit.CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues);
return AjaxControlToolkit.CascadingDropDown.QuerySimpleCascadingDropDownDocument(this._document, this._hierachy, knowCategoryValuesDictionary, category);
}
}

========.CS======
protected void Page_Load(object sender, EventArgs e)
{
System.Xml.XmlDocument document = new System.Xml.XmlDocument();
document.Load(HttpContext.Current.Server.MapPath(_path));
CasadingService web = new CasadingService();
web.Hierachy = countlist;
web.Document = document;
}
请问,我这样子给WebService中传值,当Set的时候还有值,但当运行到GetDropDownContents调用Get的return 时候就为null????????
...全文
524 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Apple 2009-08-27
  • 打赏
  • 举报
回复
time_is_life 2009-03-03
  • 打赏
  • 举报
回复
你可以把值存在数据库里,或者文件里。web service就是一个个的函数,是没有状态的。 所以不要通过内存里的东东来保存他。
jiezi316 2009-03-03
  • 打赏
  • 举报
回复
除非继承了SOAPHEADER的对象才能在远程调用的时候赋值,其他的好像这样赋值都获取不到
stromboy007 2009-03-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 time_is_life 的回复:]
web service的数据是不会自动保存的,传过去的数据,你必须存起来,然后才能读取出来。
[/Quote]
public System.Xml.XmlDocument Document
{
get
{
_document = new System.Xml.XmlDocument();
_document.Load(HttpContext.Current.Server.MapPath("~/App_Data/Data.xml"));
return _document;
}
set { _document = value; }
}
public string[] Hierachy
{
get
{
string[] _hierachy = new string[] { "province", "city" };
return _hierachy;
}
set { _hierachy = value; }
}
GetDropDownContents{
return AjaxControlToolkit.CascadingDropDown.QuerySimpleCascadingDropDownDocument(Document, Hierachy, knowCategoryValuesDictionary, category);}
要怎么才能保存啊,因为如果是在webservice中指定路径和值就在GetDropDownContents中能取到值。
time_is_life 2009-03-03
  • 打赏
  • 举报
回复
web service的数据是不会自动保存的,传过去的数据,你必须存起来,然后才能读取出来。
stromboy007 2009-03-03
  • 打赏
  • 举报
回复
现在值是可以传过去,但是还是想刚开始那样 运行到GetDropDownContents时里面的值就为空了。。。。
JeffrySun 2009-03-03
  • 打赏
  • 举报
回复
[WebMethod]
SetValue(string[] hierachy)
{
this.string[] _hierachy = hierachy;
}
tsp860901 2009-03-03
  • 打赏
  • 举报
回复
学习 学习
stromboy007 2009-03-03
  • 打赏
  • 举报
回复
大哥,能给点具体的提示不,我以前很少用到WebService。对这个不怎么懂。
time_is_life 2009-03-03
  • 打赏
  • 举报
回复
不能这样赋值的,必须通过方法,而且方法要带[WebMethod] 属性
stromboy007 2009-03-03
  • 打赏
  • 举报
回复
呵呵 ,谢谢各位的帮助,找到解决问题的办法了,是用session直接把值传过去。
stromboy007 2009-03-03
  • 打赏
  • 举报
回复
哦,先谢谢各位。

62,268

社区成员

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

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

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

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