C#高级编程:会议登记 Web服务
2009-04-14 08:25:04 来源:WEB开发网这里需要注意代码中的最后一行。通常,Application(以及Session)对象都有一个名/值对的集合,可以在该集合中保存数据。这里在Application存储中创建一个名称ds,它从数据库中提取数据集ds的串行化值,其中包含表Attendees、Rooms和Events。这样,Web服务对象的所有实例在任何时间都可以访问ds中保存的值。
为了能使上面的代码正常执行,也需要给global.asax.cs添加一个对System.data命名空间的引用:
...
using System.Data;
这项技术非常适合于只读数据,因为多个线程可以访问它,减少了对数据库中数据的载入。但要注意,由于Events表有可能发生变化,在Events表发生变化时,必须更新应用程序层DataSet。稍后会介绍这一内容。
接下来需要把方法GetData()添加给Service1.asmx.cs中的服务:
[WebMethod]
public DataSet GetData()
{
return (DataSet) Application["ds"];
}
上面代码使用与Application_Load()相同的语法来访问dataset,这样,就可以简单地将数据转换为正确的类型,并返回。
AddEvent()方法稍微有点复杂,从概念上讲,需要做下面的事情:
● 接受来自客户的事件数据。
● 使用那些数据创建SQL INSERT语句。
● 连接数据库并且执行SQL语句。
● 如果添加成功,就需要刷新Application[“ds”]中的数据。
● 把成功或失败的通知返回给客户(如果有必要,允许客户刷新他们的DataSet)。
从现在开始,把所有的字段作为字符串来接受:
更多精彩
赞助商链接