日期:2014-05-17  浏览次数:20794 次

WCF,请看下这个配置
这段关于WCF配置的代码是采集自MSDN:

<service name="HelloWorld, IndigoConfig, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null">
  <!—- This section is optional with the default configuration introduced
       in .NET Framework 4. -->
  <endpoint 
      address="/HelloWorld2/"
      contract="HelloWorld, IndigoConfig, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null"
      binding="basicHttpBinding" />
  </endpoint>
</service>


这段配置中,终结点的address使用的是相对地址吧,但是没有基址啊,为什么不使用绝对地址呢?


------解决方案--------------------
address 属性指定其他终结点用于与该服务通信的 URI。该 URI 可以是绝对路径,也可以是相对路径。如果提供的是相对地址,则需要主机提供适合于绑定中所使用的传输方案的基址。如果未配置地址,则假定基址为该终结点的地址。
http://msdn.microsoft.com/zh-cn/library/ms733099%28v=VS.90%29.aspx
  
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
------解决方案--------------------
此配置文件是错误的,使用必定报错,或者说他就没贴全,使用相对地址时,必须有一个基地址,否则是无法运行的。而楼主你提供的那个MSDN页面也是错误白出,不知道是哪个不负责任的打工仔写出来的,居然会连个最基本的XML的标签写法都不知道:
<endpoint  .../>
</endpoint>


第一个endpoint已经带有闭标签了,结果再来一行“</endpoint>”关闭,能验证通过才怪了。
------解决方案--------------------
是不是IIS承载
------解决方案--------------------
直接下载WCF示例代码,MSDN上有下载:http://www.microsoft.com/en-us/download/details.aspx?id=21459
代码是技术人员写的,都是验证过的,而文档是文员写的,未必有验证过,因此以实际代码为准,看代码调试,通过就是正确的,通不过看Visual Studio里面的错误信息微调。