福州网站seo做玩网站怎么上传图片
web/
2025/10/5 4:32:52/
文章来源:
福州网站seo,做玩网站怎么上传图片,网站建设的预算费用,深圳的设计企业网站在之前的例子里#xff0c;由于Atlas客户端在调用Web Services方法时总是使用了Sys.Net.ServiceMethod类#xff0c;因此始终使用了HTTP POST方法与服务器端进行交互。POST方法有其好处#xff0c;不过GET方法也自有其价值。我们在使用Atlas进行Web Services调用时#xff… 在之前的例子里由于Atlas客户端在调用Web Services方法时总是使用了Sys.Net.ServiceMethod类因此始终使用了HTTP POST方法与服务器端进行交互。POST方法有其好处不过GET方法也自有其价值。我们在使用Atlas进行Web Services调用时我们必须保证我们请求的Web Services资源在同一个Domain下面。这一点无论在使用XMLHttpRequest对象还是IFrame时都有这样的限制当然这是为了安全性考虑即使如此Ajax还是带来了太多的security issues。不过GET方法可以在某些情况下绕过这一点例如在一个IFrame或新窗口中打开等等。虽然依然无法和不同Domain下Web services通信但是如果只是为了“通知”的作用已经足够了。在Atlas中它的“Web Services”被放在了一个特殊的运行环境中执行在某些情况下会委托给ASP.NET原有组件执行这点在之前的文章中有过分析因此即使我们不是通过AJAX方式访问只要了解Atlas那一套特殊的运行环境的行为依旧能够给我们带来一些别的使用方式。下面的示例就将使用Atlas服务器端对于Web Services调用的支持来讲解如何使用HTTP GET来调用Web Services方法除非特别说明以下所有的解释均针对Atlas的扩展而不是ASP.NET的原有Web Services支持。首先我们写一个Web Serivces方法 Vote方法代码 1 [WebMethod] 2 [WebOperation(true, ResponseFormatMode.Xml)] 3 public XmlDocument Vote(string name, int id) 4 { 5 XmlDocument responseDoc new XmlDocument(); 6 responseDoc.LoadXml( 7 ?xml-stylesheet type\text/xsl\ href\Vote.xsl\? 8 responseuser/userid/id/response); 9 responseDoc.SelectSingleNode(//user).InnerText name;10 responseDoc.SelectSingleNode(//id).InnerText id.ToString();11 return responseDoc;12 } 在Atlas中HTTP POST为Web Services的默认支持方法也是必然的支持方法。而如果需要使该Web Service方法支持HTTP GET的话就必须如上面代码一样使用Microsoft.Web.Services.WebOperationAttribute进行标注。WebOperationAttribute的第一个参数就是getVerbEnabledtrue则表示支持HTTP GET方法。第二个参数Microsoft.Web.Services.ResponseFormatMode.Xml则表示结果对象的输出方式为XML而不是默认的JSON。在这里我们使用XML的原因是因为JSON在这里没有任何意义。返回JSON后是为了在获得这些内容之后通过Javascript函数eval执行从而获得JSON表示的对象。而在这里我们的目的是将结果显示给用户看所以使用XML形式返回再加上XSL的支持就能以HTML的形式显示给用户了。然后就是简单的XSL Vote.xsl文件内容 1 ?xml version1.0 encodingutf-8? 2 xsl:stylesheet version1.0 3 xmlns:xslhttp://www.w3.org/1999/XSL/Transform 4 xsl:template match/response 5 html 6 head 7 titleThanks for your participation./title 8 /head 9 body stylefont-family:Verdana; font-size:13px;10 h4Thanks for your participation./h411 div12 xsl:textDear /xsl:text13 xsl:value-of selectuser/14 xsl:text, youve voted for item /xsl:text15 xsl:value-of selectid/16 xsl:text./xsl:text17 /div18 /body19 /html20 /xsl:template21 /xsl:stylesheet 接下来就是我们的HTML文件。我们的目的非常简单就是得到用户输入的信息拼接成URL之后在新窗口中打开。因此我们在这里根本无需使用Atlas。代码如下 HTML代码 1 divName:input typetext idtxtName //div 2 divItem: 3 select idcomboItem 4 option value1Item 1/option 5 option value2Item 2/option 6 option value3Item 3/option 7 option value4Item 4/option 8 option value5Item 5/option 9 /select10 /div11 input typebutton valueVote onclickvote() / 点击“Vote”按钮后就会调用Javascript函数Vote()。代码如下 Javascript代码 1 script languagejavascript 2 function vote() 3 { 4 var url HttpGetWebService.asmx?mnVote; 5 url (name encodeURI(document.getElementById(txtName).value)); 6 url (id document.getElementById(comboItem).value); 7 8 window.open(url); 9 }10 /script 我们需要拼接的URL很简单首先使用在QueryString里将mn设为我们即将调用的Web Services方法名然后就是在QueryString里附加Web Services方法所需的参数了。请注意既然是使用URL拼接那么就必须使用encodeURI进行编码后才能使用否则可能会出现异常情况。我们现在来看一下使用情况。首先打开HTML页面输入姓名选择下拉框中的其中一项然后点击“Vote”按钮则可以在弹出窗口中看到结果这就是使用了HTTP GET方法调用Web Services方法的示例使用它可以跨域名地传递数据虽然依旧不能进行交互。请注意它使用了Atlas的Web Services运行环境离开了它就不能这么做了。另外由于使用了QueryString来传递数据类型因此如此简单地应用这个方法的话就只能在Web Services方法中使用基本类型地参数了否则服务器端将会抛出异常。不过Atlas也想到了这一点在下一篇文章里我将提供示例来解释一下如何告诉Atlas在必要时刻将一个基础类型转化成复杂类型。点击这里下载示例源文件。 转载于:https://www.cnblogs.com/JeffreyZhao/archive/2006/10/18/Inside_Atlas_Series__Web_Services_Access_in_Atlas__Sample_4.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87162.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!