创建WCF服务项目遇到的问题以及解决方法
1.“服务XXXXX有零个应用程序(非基础结构)终结点”。
产生原因:
<services>
<service name="DerivaticesClaculatorService.DerivaticesClaculatorServiceType" behaviorConfiguration="DerivaticesClaculatorService">
<host>
<baseAddresses>
<add baseAddress="http://localhost:7277/Claculator/"/>
</baseAddresses>
</host>
<endpoint address="http://localhost:7277/DerivaticesClaculatorServiceType/" binding="basicHttpBinding" contract="DerivaticesClaculatorService.IDerivativeCalculator">
</endpoint>
</service>
出现这个错误是因为service name由命名空间DerivaticesClaculatorService与提供的服务类名DerivaticesClaculatorServiceType组成,behaviorConfiguration是提供的服务类名,契约contract是命名控件DerivaticesClaculatorService和接口类IDerivativeCalculator组成.如果命名空间命或类名写错,或者写的不完全(比如只写了命名空间名字或者类名),则会出现上述错误。
解决办法:
1、按以上规则仔细核对。
2、如果实在找不到哪里写错,但程序还是报此错的话,还有一个办法:ServiceHost host = new ServiceHost(ServiceType) 改成
ServiceHost host = new ServiceHost(ServiceType,new Uri(http://localhost:7277/DerivaticesClaculatorServiceType/) ),也可以运行。
2.WCF服务发布以后,Client 端无法引用WCF服务,查看错误为“application soap+xml charset utf-8 客户端和服务绑定可能不匹配”。或者使用IE访问WCF服务地址的时候显示“当前已禁用此服务元数据的发布”。
(摘抄)按着《ASP.NET 3.5高级程序设计(第4版)》中的WCF案例一步步进行,书上说为了使初学者更好的关注WCF细节,先不使用WCF模版,但是进行到最后报出上述错误。书上写的配置是不包含<behaviors>节点的,这时Client 端无法正常连接服务,于是在网上各种找解决方法,在http://www.cnblogs.com/lanpei/archive/2009/10/29/1592218.html上找到累死问题解决方法,于是加上<behaviors>节点,此时仍然会报相同错误。因为书上的例子中没有<behaviors>节点,所以<service>节点中也不包含behaviorConfiguration属性,设置好behaviorConfiguration="CalculatorServiceBehavior",彻底没问题了。
按以上说法,我仔细核对了一下App.config文件
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<service name="DerivaticesClaculatorService.DerivaticesClaculatorServiceType" behaviorConfiguration="DerivaticesClaculatorService">
<host>
<baseAddresses>
<add baseAddress="http://localhost:7277/Claculator/"/>
</baseAddresses>
</host>
<endpoint address="http://localhost:7277/DerivaticesClaculatorServiceType/" binding="basicHttpBinding" contract="DerivaticesClaculatorService.IDerivativeCalculator">
</endpoint>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="DerivaticesClaculatorService">
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
其中的behavio段要设置好,前后要一致。
然后添加服务引用
注意服务引用的地址是baseAddress="http://localhost:7277/Claculator/",一定一定不要写成endpoint address="http://localhost:7277/DerivaticesClaculatorServiceType/“的了,这样就会报上面的错!
先暂时这么多,待补充。。。
创建WCF服务项目遇到的问题以及解决方法相关推荐
- WCF入门(五)---创建WCF服务
使用Microsoft Visual Studio2012创建WCF服务,理解如下所有必要的编码,更好地创建WCF服务的概念,这里做一个简单的任务. 启动Visual Studio 2012. 单击新 ...
- vue-cli创建第一个项目(用git bash解决上下键移动选择问题)
vue-cli创建第一个项目(用git bash解决上下键移动选择问题) 参考文章: (1)vue-cli创建第一个项目(用git bash解决上下键移动选择问题) (2)https://www.cn ...
- vue create xxx创建项目过程中报错的解决方法
vue create xxx创建项目过程中报错的解决方法 报错图例 解决办法 报错图例 解决办法 首先检查电脑里是否安装node.js 检查方法:命令行输入 node -v 还要再输入一个 npm - ...
- IDEA第一次创建android太慢,idea新建maven项目时速度缓慢的解决方法
原因 IDEA根据maven archetype的本质,其实是执行mvn archetype:generate命令,该命令执行时,需要指定一个archetype-catalog.xml文件. 该命令的 ...
- 项目中遇到问题的解决方法合集
以下内容主要是为了方便记录自己在工作中遇到的项目问题搜寻到的解决方法,肯定方法不唯一,这里只是给出解决了我的问题的方法,大家走过路过随便瞧瞧较好啦嘻嘻 1.使用@vue/cli 4.x 创建vue项目 ...
- React项目中请求跨域解决方法
React项目中请求跨域解决方法 今天经理给我了一个React项目地址,让我拉下来并跑起来,拉下来运行起来后,发现所有的请求都失败了,并且都是由于跨域问题导致的.花了点时间,解决了这个问题,在这里记录 ...
- win7“找不到该项目”的错误原因及解决方法
相信有很多网友经常会碰到在使用Windows7系统删除文件或者文件夹的时候,出现"找不到该项目"的错误提示.我想大家一定很有印象.这个时候大部分的人都可能再次点击"重试& ...
- 计算机的诊断策略服务怎么打开6,win7诊断策略服务已被禁用的最佳解决方法
很多番茄花园win7旗舰版64位系统的用户在使用疑难解答来诊断电脑问题的时候,出现结果已经找到问题"诊断策略服务已被禁用"的提示.不知道怎么办.没关系下面小编就为大家分享了关于wi ...
- Eclipse 导入项目有红感叹号的解决方法
Eclipse 导入项目有红感叹号的解决方法 参考文章: (1)Eclipse 导入项目有红感叹号的解决方法 (2)https://www.cnblogs.com/mo-xue/p/5742734.h ...
最新文章
- php大商创 安装,大商创X2020最新纯净服务器安装教程
- 通用 图片/文字 水印函数
- hadoop跑第一个实例过程
- 对软件体系结构的认识
- 应用程序窗口hwnd初始化_Golang OpenGL 跨平台图形程序开发(2)你好,窗口
- 懒人图库-JS“焦点图”代码 漂亮的图片变化效果
- 比亚迪赵长江:腾势今年将发布两款 SUV、一款 MPV
- CSS选择器种类及使用方法
- [算法]华为笔试题——字母和十进制数映射
- 普通蓝牙防丢器已过时,onn推出支持苹果 Find My 防丢器
- 京东实习生招聘面试小记
- 【艾琪出品】《数据库课程设计》【参考】
- 深度linux 安装qq游戏,深度操作系统20下载
- R语言:批量获取指定股票代码的股票数据
- 更高的等级、更强的暴力
- 2019各大互联网公司产品校招笔试
- EasyClick IOS 自动化测试 使用前置准备
- 【中级软考】数字签名的概念及其作用
- python机器人编程 乐高_孩子还能加分?少儿编程可以实现!编程机器人和编程有什么区别?...
- 请听题!如何实现只用1个VN5640A搭建含2个交换机的车载以太网网络?|VN5640A新功能