一:在本机直接运行时出错

使用WCF写了一个小程序测试一下它的功能在运行时报错。“添加服务失败。服务元数据可能无法访问。请确保服务正在运行并且正在公开元数据。”

如下图所示:

查了下资料把它解决了,记录一下。

解决方法:

将web.config中的

<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true"/>

修改为

<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />

即可。

二:发布到IIS出错

2.1 IIS7  不支持svc的MIME类型

解决方案

开始->所有程序->附件->CMD->右键“用管理员方式”打开,进入以下目录C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\,

,执行ServiceModelReg.exe -i  即可。

2.2 HTTP 错误 500.21 - Internal Server Error  处理程序“svc-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”

原因:

vs2010默认的是4.0框架,4.0的框架是独立的CLR,和2.0的不同,如果想运行4.0的网站,需要用aspnet_regiis注册4.0框架,然后用4.0的Class池,就可以运行4.0的web项目了.

如何用aspnet_regiis注册4.0框架 :

方法如下,启动cmd (win键+R 启动cmd) ,找到 4.0所在的目录,本人机器目录是 ;

注意:要以管理员的身份运行DOS窗口。

复制目录 C:\Windows\Microsoft.NET\Framework\v4.0.30319

运行 aspnet_regiis.exe -i

安装完成,这时的IIS就可以运行 .net 4.0 部署的网站了.

2.3

这是 Windows© Communication Foundation 服务。

当前已禁用此服务的元数据发布。

如果具有该服务的访问权限,则可以通过完成下列步骤来修改 Web 或应用程序配置文件以便启用元数据发布:

解决方法

web.config中的serviceBehaviors节点下的behavior 节点的name属性设为空字符串

 <system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="">
<!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false 并删除上面的元数据终结点 -->
<serviceMetadata httpGetEnabled="true"/>
<!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>

2.4

“/”应用程序中的服务器错误。


未能从程序集“System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载类型“System.ServiceModel.Activation.HttpModule”。

解决方案:

在命令提示符CMD(管理员方式运行CMD)上打开地址 C:\Windows\Microsoft.NET\Framework\v4.0.30319 然后输入aspnet_regiis.exe -iru 后回车即可,参考下图

2.5

“/”应用程序中的服务器错误。


无法激活服务,因为它不支持 ASP.NET 兼容性。已为此应用程序启用了 ASP.NET 兼容性。请在 web.config 中关闭 ASP.NET 兼容性模式,或将 AspNetCompatibilityRequirements 特性添加到服务类型且同时将 RequirementsMode 设置为“Allowed”或“Required”。

解决方法:

将web.config中的

<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true"/>

修改为

<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />

即可。

三:Service References 和 Web References、BasicHttpBinding和WsHttpBinding的不同点

Web References: 主要是添加Web Service引用,基于.NET Framework 2.0。

Service References:为了对.NET Framework 3.0 或 3.5版本上WCF Service Library的支持。

BasicHttpBinding:数据明文的通过xml发送

WsHttpBinding:数据被加密发送

假如,WCF的绑定方法是WSHttpBinding,那么,如果使用Web References来引用这个WCF服务中话,会不成功,只能用Service References方式引用才会成功;

假如,WCF的绑定方法是BasicHttpBinding,那么,无论使用Web References还是Service References都可以成功调用。

 

WCF发布错误及解决方案的更多相关文章

  1. wcf 上传文件报413,404和发布错误

    上传文件错误: 其实要修改所有的服务,不管是服务端还是客户端,Binding那边增加一个没有设置名字的默认配置就OK了:  <binding   closeTimeout="00:10 ...

  2. webapi发布常见错误及解决方案

    webapi发布常见错误及解决方案 错误一: 错误:404 (Not Found) 解决方案: 在  <system.webServer>节点中添加如下模块: <modules ru ...

  3. WCF 发布使用

    WCF发布,由于使用的是 net.tcp协议因此 需要在发布的WCF站点的管理网站-高级设置,连接协议中添加net.tcp的绑定 然后还需要在网站绑定编辑中添加net.tcp的绑定.否则访问的时候会出 ...

  4. 安装360后,visual studio 经常报各种莫名其妙的错误的解决方案

    安装360后,visual studio  经常报各种莫名其妙的错误,每次都要查找错误的解决方案 而且网上关于这个的好少,以后只要碰到了这种情况我就记录下吧 今天碰到的情况是打开WCF服务时出现   ...

  5. Umbraco项目发布错误 --More than one type want to be a model for content type authorize

    在开发项目时,解决方案下面包括三个项目 MyUmbracoProject MyUmbracoProject.Core MyUmbracoProject.FrontEnd 第一个项目MyUmbracoP ...

  6. 创建或打开解决方案时提示"DotNetCore.1.0.1-SDK.1.0.0.Preview2-003131-x86"错误的解决方案

    提示"DotNetCore.1.0.1-SDK.1.0.0.Preview2-003131-x86"错误的解决方案: 1.检查是否有C:\Program Files (x86)\d ...

  7. 针对每种Windows Server 操作Excel、Word等Office组件遇到“ComException"、”80070005“等COM错误的解决方案大汇总

    以下所有Excel错误的解决方案,同样适用于Word.PowerPoint等Office产品. 以下解决方案中,如果出现"安装Excel组件",是适用于遇到Excel错误的.如果是 ...

  8. SQL Server附加数据库时报1813错误的解决方案

    SQL Server附加数据库时报1813错误的解决方案   无法打开新数据库 'ASR'.CREATE DATABASE 中止. 文件激活失败.物理文件名称'E:\SqlServer\MSSQL\D ...

  9. 关于Oracle出现listener refused the connection with the ORA-12505错误,解决方案

    出现listener refused the connection with the ORA-12505错误,解决方案: 1.首先重启一下电脑,释放被占用的1521端口 2.重启后打开Oracle D ...

随机推荐

  1. WCF 学习笔记之异常处理

    WCF 学习笔记之异常处理 1:WCF异常在配置文件 <configuration> <system.serviceModel> <behaviors> <s ...

  2. PostgreSQL 简明使用说明

    原文地址:http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html 期间,作者有写错的地方,已经做更改了. ...

  3. 反向代理(Reverse Proxy)

    反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时 ...

  4. J2EE (九) 静态代理和动态代理--间接“美”

    生活中有很多例子是间接来控制和访问的,比如你找一个人不自己亲自去,而是让别人代替去做这就是最简单的代理模式,是一种间接通信的例子,对象间的间接通信也同样是面向对象设计中的一条重要的“审美观”.间接通信 ...

  5. 你不知道的Eclipse用法:使用Allocation tracker跟踪Android应用内存分配

    Android Tools中的DDMS带有一个很不错的跟踪内存分配的工具Allocation tracker.通过Alloction tracker,不仅知道分配了哪类对象,还可以知道在哪个线程.哪个 ...

  6. .Net程序员学用Oracle系列(1):导航目录

    本人从事基于 Oracle 的 .Net 企业级开发近三年,在此之前学习和使用的都是 (MS)SQL Server.未曾系统的了解过 Oracle,所以长时间感到各种不习惯.不方便.怪异和不解,常会遇 ...

  7. JavaSE——UDP协议网络编程(一)

    UDP协议基础: UDP协议是英文UserDatagramProtocol的缩写,即用户数据报协议,主要用来支持那些需要在计算机之间传输数据的网络应用.包括网络视频会议系统在内的众多的客户/服务器模式 ...

  8. jQuery+HTML5声音提示

    WEB应用中,有时需要播放特定的声音,比如有新消息或者在线聊天消息声音提示,以前我们通过flash实现,今天我们将使用jQuery和HTML5结合示例来实现如何把声音提示带入WEB应用中. 在本例中, ...

  9. npoi导入--从varchar数据类型到datetime数据类型转换产生一个超出范围的值问题

    一,导入问题如图: 二,解决方法和原因: 1,经过调试发现导入获取到的日期数据被装换成1/1/10 0:00,如下图: 而将以上的数据插入数据库类型为datatime的列时会报错 2,经过去了解npo ...

  10. 如何使用jQuery动态的在body里添加script标签?

    var script = document.createElement('script'); script.type = 'text/jacascript'; script.src = 'url'; ...