初步分析WCFWEB使用规则

原来上网我下了很多WCF WEB的Demo。而我用的是VS2005,我在使用这些小样时,基本上绝大部分基于VS2003的Asp.net工程都因为少数文件无法转换而无法加载工程,为此我也苦恼很久,后来终于让我找到了解决办法。

创新互联是一家以重庆网站建设公司、网页设计、品牌设计、软件运维、网站推广、小程序App开发等移动开发为一体互联网公司。已累计为成都宴会酒店设计等众行业中小客户提供优质的互联网建站和软件开发服务。

如果address值为空,WCF WEB那么endpoint的地址就是默认的基地址(Base Address)。例如ICalculator服务的地址就是http://localhost/servicemodelsamples/service.svc,而IMetadataExchange服务的地址则为http://localhost/servicemodelsamples/service.svc/mex。这里所谓的基地址可以在中通过配置来定义:

 
 
  1.  
  2.    name="Microsoft.ServiceModel.Samples.CalculatorService" 
  3.    behaviorConfiguration="CalculatorServiceBehavior"> 
  4.  
  5.    
  6.      baseAddress=  
  7. "http://localhost/ServiceModelSamples/service.svc"/> 
  8.    
  9.  
  10.  … /> 
  11.  

当我们在定义一个实现了Service Contract的类时, binding和address信息是客户端必须知道的,否则无法调用该服务。然而,如果需要指定服务在执行方面的相关特性时,就必须定义服务的behavior。在WCF中,定义behavior就可以设置服务的运行时属性,甚至于通过自定义behavior插入一些自定义类型。例如通过指定ServiceMetadataBehavior,可以使WCF WEB服务对外公布Metadata。配置如下:

 
 
  1.  
  2.    
  3.    name="metadataSupport"> 
  4.     httpGetEnabled="true" httpGetUrl=""/> 
  5.    
  6.    
  7.  

WCF WEB中,behavior被定义为Attribute,其中,System.ServiceModel.ServiceBehaviorAttribute和System.ServiceModel.OperationBehaviorAttribute是最常用的behavior。虽然,behavior作为Attribute可以通过编程的方式直接施加到服务上,但出于灵活性的考虑,将behavior定义到配置文件中才是最好的设计方式。


文章标题:初步分析WCFWEB使用规则
新闻来源:http://gydahua.com/article/dppiiij.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流