WEB开发网
开发学院软件开发C语言 C#高级编程:会议登记 Web服务 阅读

C#高级编程:会议登记 Web服务

 2009-04-14 08:25:04 来源:WEB开发网   
核心提示: 最后,返回queryResult,C#高级编程:会议登记 Web服务(5),以便让客户知道查询是否成功: [WebMethod] public int AddEvent(String eventName, String eventRoom, String eventAttendees,

最后,返回queryResult,以便让客户知道查询是否成功:

          [WebMethod]
          public int AddEvent(String eventName, String eventRoom,
                              String eventAttendees, String eventDate)
          {
             ...
             return queryResult;
          }

至此,就完成了Web服务的所有工作,如同以前,可以对Web服务进行测试,测试的方法就是把Web浏览器指向.asmx文件,这样,不用编写任何客户机代码,就可以添加记录,查看由GetData()返回的DataSet的XML表示。

在继续之前,需要讨论DataSet对象和Web服务的组合使用。初看起来这似乎是交换数据的一种荒谬方式,而实际上这是一种极其有用的技术。

DataSet类的用途非常广泛,如果查看为GetData()方法生成的WSDL,就会看到如下内容: 

    <s:element FTEL="GetDataResponse">
           <s:complexType />
             <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" FTEL="GetDataResult">
                <s:complexType>
                    <s:sequence>
                      <s:element ref=”s:schema” />
                      <s:any />
                  </s:sequence>
                </s:complexType>
             </s:element>
           </s:sequence>
         </s:complexType>
       </s:element>

可以看出,这是非常一般的代码,允许传送进来的DataSet对象包含用内联模式指定的任何数据。但是,这表示WSDL没有完整地描述Web服务。对于.NET客户这不是个问题,在前面的示例中传送简单的字符串时,一切都很正常,惟一的区别是我们交换了一个DataSet对象。但是,非.NET客户必须提前了解要传送的数据,或者某个等价的DataSet类,才能访问数据。

这个问题的解决方法是把数据重新封装为另一种格式,例如结构数组。但是,这里使用DataSet对象不会出问题,而且还可以大大简化其他代码。

相关阅读:

C#高级编程:定制日历控件

C#高级编程:给数据库添加会议数据

C#高级编程:数据绑定深入理解

C#高级编程 多种方式读写文本文件

上一页  1 2 3 4 5 

Tags:高级 编程 会议

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接