CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > Web服务子站 > 技巧

ASMX2.0、WSE3.0和WCF问题解答(一)

作者: ,  出处:MSDN, 责任编辑: 叶江, 
2006-11-22 15:15
  Microsoft® .NET Framework 2.0 版通过几个有趣但可能令人困惑的方式重塑了 Web 服务的前景。因此,本月我打算解答一些与 ASP.NET Web Services (ASMX) 2.0、Web Services Enhancements (WSE) 3.0 和 Windows® Communication Foundation (WCF)(WinFX® 的一部分)有关的最常见问题。

  Microsoft® .NET Framework 2.0 版通过几个有趣但可能令人困惑的方式重塑了 Web 服务的前景。因此,本月我打算解答一些与 ASP.NET Web Services (ASMX) 2.0、Web Services Enhancements (WSE) 3.0 和 Windows® Communication Foundation (WCF)(WinFX® 的一部分)有关的最常见问题。(查看第二部分

  问:能解释一下支持接口的新 ASMX 2.0 的工作方式吗?哪些属性用于接口,哪些属性用于类?

  答:.NET Framework 2.0 中的 ASMX 框架引入了一个重大的编程模型改进:能够在 .NET 接口定义中定义 Web 服务协定。此功能允许您使用常规的 System.Web.Services 属性([WebServiceBinding]、[WebMethod]、[SOAPDocumentMethod] 等)来批注 .NET 接口定义。然后,您就可以在 .NET 类上实现 .NET 接口,以有效地实现服务协定。

  该方法与 WCF 中的方法(主要区别是属性名不同)十分类似。它允许您从实现代码中去耦服务协定,从而使管理和重用变得更加方便,也使代码的可读性更高。如下显示该方法的一个示例。

using System.Web.Services;

[WebServiceBinding(
    Name = "QuoteService",
    Namespace = "http://example.org/stocks",
    ConformsTo = WsiProfiles.BasicProfile1_1,
    EmitConformanceClaims=true)]
public interface IQuoteService
{
    [WebMethod]
    StockQuote GetQuote(string symbol);
    [WebMethod]
    List<StockQuote> GetQuotes(List<string> symbols);
}

[WebService(Namespace="http://example.org/stocks")]
public class QuoteService : IQuoteService
{
    public StockQuote GetQuote(string symbol)
    {
        ... // retrieve and return new StockQuote
    }
    public List<StockQuote> GetQuotes(List<string> symbol)
    {
        ... // retrieve and return List<StockQuote>
    }
}

  [WebServiceBinding] 和 [WebMethod] 用于接口,而 [WebService] 用于类。使用此模型时,影响服务协定定义的所有属性都必须置于接口定义(而不是类)中。这包括 [SOAPDocumentService]、[SOAPDocumentMethod] 以及能够应用于方法签名的各种 System.XML.Serialization 属性。您不能跨接口和类定义混合和匹配这些属性,ASMX 将帮助您确保这一点。

共5页。 1 2 3 4 5 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       

该文章的读者还阅读了

天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i