本文介绍ASP.NET构造XML Web服务,XML Web服务的真正的强大的功能只有等你研究了基础结构以后才能领悟。

运用ASP.NET结构一个简略的XML Web服务是相对简单的,但是,XML Web服务的真实的强壮的功用只需等你研讨了根底结构今后才干领会。XML Web服务是建立在.NET结构和公共言语运转时刻根底上的。一个XML Web服务可以运用这些技能。例如,ASP.NET支撑的功用、状况办理和验证全都可被用来结构XML Web服务。

ASP.NET结构XML Web服务(asp生成xml)  XML Web服务 ASP.NET构造 第1张

XML Web服务的根底结构是构建来契合象SOAP、XML和WSDL这样的行业规范,而且它答应其他的渠道的客户端与XML Web服务互操作。只需一个客户端可以发送契合规范的SOAP音讯、根据格式化的服务描绘,那么这个客户端可以调用一个运用ASP.NET创立的XML Web服务(不论客户端存在于何种渠道)。

当你运用ASP.NET结构一个XML Web服务时,它主动支撑客户端运用SOAP、HTTP-GET和HTTP-POST协议通讯。即便HTTP-GET和HTTP-POST支撑运用URL编码的变量名/变量值对来传送音讯,支撑这两个协议的数据类型也没有支撑SOAP协议的数据类型丰厚。在SOAP中,运用XML把数据传送到XML Web服务或从XML Web服务取回音讯,你可以运用支撑丰厚的数据类型集的XSD形式界说杂乱的数据类型。运用ASP.NET结构一个XML Web服务的开发者不用明确地界说杂乱的数据类型。他们可以只结构一个办理类。ASP.NET处理界说到一个XSD形式的映射类和到XML数据的映射目标实例,以便经过网络传输。

重要的是要注意XML Web服务并不能替代DCOM,咱们应该说XML Web服务是跨过运用行业规范的渠道通讯的一种音讯传递根底结构。

由于ASP.NET供给了为XML Web服务内部作业的根底结构,开发者可以集中精力来完成他们的特定的XML Web服务的功用。运用ASP.NET开发一个XML Web服务从下面三步开端:

1. 创立一个带有.asmx扩展名的文件。

2. 在这个文件里边,运用一条指令声明XML Web服务。

3. 界说组成XML Web服务功用的XML Web服务办法。

XML Web服务是一个强壮的技能,用于供给可经过因特网变成拜访的服务。下面的主张将协助你创立高效的XML Web服务:

XML Web服务既支撑同步的又支撑异步的客户端和寄存XML Web服务的服务器之间的通讯。在同步通讯情况下,客户端发送一个对服务的恳求到服务主机服务器上等候呼应。这防止客户端在等候成果的时分,履行其它的操作。但是异步通讯导致客户端在等候相应的时分持续处理其它的使命。客户端在可用的时分呼应服务恳求的成果。

当你运用Web服务描绘言语东西(Wsdl.exe)来创立你的署理类的时分,它发生类中的办法的规范的、同步版别和异步版别。异步版别由两个办法组成,称为Begin和End。Begin办法用于初始化XML Web服务,而End办法获得成果。

运用异步通讯可以改进体系运用率和防止客户端在它等候XML Web服务成果的时分的推迟。

下面的代码示例显现怎么从一个客户应用程序发生一个到XML Web服务

  1. <%@PageLanguage="C#"%>
  2. <%@ImportNamespace="System.Net"%>
  3. <html>
  4. <scriptlanguagescriptlanguage="C#"runat="server">
  5. voidEnterBtn_Click(ObjectSrc,EventArgsE)
  6. {
  7. MyMath.Mathmath=newMyMath.Math();
  8. //CalltoAddXMLWebservicemethodasynchronously
  9. //andthenwaitforittocomplete.
  10. IAsyncResultresult=
  11. math.BeginAdd(Convert.ToInt32(Num1.Text),
  12. Convert.ToInt32(Num2.Text),
  13. null,
  14. null);
  15. //Waitforasynchronouscalltocomplete.
  16. result.AsyncWaitHandle.WaitOne();
  17. //CompletetheasynchronouscalltoAddXMLWebservicemethod.
  18. floattotal=math.EndAdd(result);
  19. //DisplayresultsinaLabelcontrol.
  20. Total.Text="Total:"+total.ToString();
  21. }
  22. </script>
  23. <body>
  24. <formactionformaction="MathClient.aspx"runat=server>
  25. <fontfacefontface="Verdana">
  26. Enterthetwonumbersyouwanttoaddandthenpress
  27. theTotalbutton.
  28. <p>
  29. Number1:
  30. <asp:textboxidasp:textboxid="Num1"
  31. runat=server/>
  32. +
  33. Number2:
  34. <asp:textboxidasp:textboxid="Num2"
  35. runat=server/>
  36. =
  37. <asp:buttonidasp:buttonid="Total_Button"
  38. text="Total"
  39. OnClick="EnterBtn_Click"
  40. runat=server/>
  41. <p>
  42. <asp:labelidasp:labelid="Total"runat=server/>
  43. </font>
  44. </form>
  45. </body>
  46. </html>
  47. [VisualBasic]
  48. <%@PageLanguage="VB"%>
  49. <%@ImportNamespace="System.Net"%>
  50. <html>
  51. <scriptlanguagescriptlanguage="VB"runat="server">
  52. SubEnterBtn_Click(SrcAsObject,EAsEventArgs)
  53. DimmathAsNewMyMath.Math()
  54. 'CalltoAddXMLWebservicemethodasynchronously
  55. 'andthenwaitforittocomplete.
  56. DimresultAsIAsyncResult=_
  57. math.BeginAdd(Convert.ToInt32(Num1.Text),_
  58. Convert.ToInt32(Num2.Text),_
  59. Nothing,_
  60. Nothing)
  61. 'Waitforasynchronouscalltocomplete.
  62. result.AsyncWaitHandle.WaitOne()
  63. 'CompletetheasynchronouscalltoAddXMLWebservicemethod.
  64. DimaddtotalAsSingle=math.EndAdd(result)
  65. 'DisplayresultsinaLabelcontrol.
  66. Total.Text="Total:"&addtotal.ToString()
  67. EndSub
  68. </script>
  69. <body>
  70. <formactionformaction="MathClient.aspx"runat=server>
  71. <fontfacefontface="Verdana">
  72. Enterthetwonumbersyouwanttoaddandthenpress
  73. theTotalbutton.
  74. <p>
  75. Number1:
  76. <asp:textboxidasp:textboxid="Num1"
  77. runat=server/>
  78. +
  79. Number2:
  80. <asp:textboxidasp:textboxid="Num2"
  81. runat=server/>
  82. =
  83. <asp:buttonidasp:buttonid="Total_Button"
  84. text="Total"
  85. OnClick="EnterBtn_Click"
  86. runat=server/>
  87. <p>
  88. <asp:labelidasp:labelid="Total"runat=server/>
  89. </font>
  90. </form>
  91. </body>
  92. </html>

以上介绍ASP.NET结构XML Web服务

【修改引荐】

  1. ASP.NET的DataList和Repeater控件
  2. 浅析ASP.NET的IIS映射
  3. 概述ASP.NET状况类型
  4. 浅谈ASP.NET和Web服务器
  5. ASP.NET的EnableViewState特点
转载请说明出处
知优网 » ASP.NET结构XML Web服务(asp生成xml)

发表评论

您需要后才能发表评论