WCF 的学习过程
之前没有接触过WCF,这两天学习中。把遇到的问题和解决办法记下来。
遇到的问题:
(1).HTTP 错误 404.17 - Not Found
请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理
(2).HTTP 错误 500.21 - Internal Server Error
处理程序“svc-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
(3).“/”应用程序中的服务器错误。
在主机(“IntegratedWindowsAuthentication”)上配置的身份验证方案不允许在绑定“BasicHttpBinding”(“Anonymous”)上配置的方案。请确保 SecurityMode 设置为 Transport 或 TransportCredentialOnly。此外,还可以通过以下方式解决此问题: 通过 IIS 管理工具更改此应用程序的身份验证方案,通过应用程序配置文件中 <serviceAuthenticationManager> 元素处的 ServiceHost.Authentication.AuthenticationSchemes 属性更改身份验证方案,通过更新绑定上的 ClientCredentialType 属性或通过调整 HttpTransportBindingElement 上的 AuthenticationScheme 属性。
(5).在使用WCF 的过程中遇到:
已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性。
1.做个小入门的程序(博客园的文章,不废话,直接动手那个,好像那个服务的方法是ShowName()),以下是开发过程。



2.解决办法:
以管理员身份运行CMD,输入如下命令即可。其中命令最后的“modules”为页面中显示错误红色字段的节点名称。

然后是:(刚安装的系统,没有开启IIS 服务)没有注册好IIS 中aspnet的这个东西,注册下。

之后:是权限问题,把对应的权限修改,指定某个用户。

最后:成功显示WCF服务

第5个问题的解答方案:
1.
在WCFTestClient里能看到一个ConfigFile,---》右键---在SvcConfigEditor里编辑,然后找到绑定的设置就可以了。
这个不能直接在WCFTestClient设置,双击打开的文件默认是只读的。这里也将MaxReceivedMessageSize等值设置为:2147483647。在Help工具栏,设置无须总是重新加载配置文件。

2.在web.config中配置,添加红色部分代码,或者设置其值为:
<wsHttpBinding>
<binding name="MaxMessage" closeTimeout="00:01:00" openTimeout="00:01:00"
receiveTimeout="00:10:00" sendTimeout="00:10:00" maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="Message">
<transport clientCredentialType="Windows" />
</security>
</binding>
<!--v-shunhu:set WSHttpBinding_INewsScrapingService maxReceiveMessageSize-->
<binding name="WSHttpBinding_INewsScrapingService"
maxReceivedMessageSize="2147483647"
maxBufferPoolSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
</binding>
</wsHttpBinding>
---------------分割线---------------
<serviceBehaviors>
<behavior name="NewsScrapingServiceBehavior">
<!-- To avoid disclosing metadata information, set the values below to false before deployment -->
<serviceThrottling maxConcurrentCalls="200" maxConcurrentInstances="200" maxConcurrentSessions="200" />
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="true"/>
<!--v-shunhu:modify value '9000000' to '2147483647'-->
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</serviceBehaviors>
WCF 的学习过程的更多相关文章
- C#设计模式总结
一.引言 经过这段时间对设计模式的学习,自己的感触还是很多的,因为我现在在写代码的时候,经常会想想这里能不能用什么设计模式来进行重构.所以,学完设计模式之后,感觉它会慢慢地影响到你写代码的思维方式.这 ...
- C#设计模式总结(转)
一.引言 经过这段时间对设计模式的学习,自己的感触还是很多的,因为我现在在写代码的时候,经常会想想这里能不能用什么设计模式来进行重构.所以,学完设计模式之后,感觉它会慢慢地影响到你写代码的思维方式.这 ...
- GOF23设计模式汇总
转自:http://www.cnblogs.com/zhili/p/DesignPatternSummery.html#3037698 C#设计模式总结 一.引言 经过这段时间对设计模式的学习,自己的 ...
- C#设计模式总结 C#设计模式(22)——访问者模式(Vistor Pattern) C#设计模式总结 .NET Core launch.json 简介 利用Bootstrap Paginator插件和knockout.js完成分页功能 图片在线裁剪和图片上传总结 循序渐进学.Net Core Web Api开发系列【2】:利用Swagger调试WebApi
C#设计模式总结 一. 设计原则 使用设计模式的根本原因是适应变化,提高代码复用率,使软件更具有可维护性和可扩展性.并且,在进行设计的时候,也需要遵循以下几个原则:单一职责原则.开放封闭原则.里氏代替 ...
- 【原创经验分享】JQuery(Ajax)调用WCF服务
最近在学习这个WCF,由于刚开始学 不久,发现网上的一些WCF教程都比较简单,感觉功能跟WebService没什么特别大的区别,但是看网上的介绍,就说WCF比WebService牛逼多少多少,反正我刚 ...
- 跟我一起学WCF(13)——WCF系列总结
引言 WCF是微软为了实现SOA的框架,它是对微乳之前多种分布式技术的继承和扩展,这些技术包括Enterprise Service..NET Remoting.XML Web Service.MSMQ ...
- 再见WCF
转眼微软的WCF已走过十个年头,它是微软通信框架的集大成者,将之前微软所有的通信框架进行了整合,提供了统一的应用方式.记得从自己最开始做MFC时,就使用过Named Pipe命名管道,之后做Winfo ...
- WCF学习之旅—第三个示例之四(三十)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) WCF学习之旅—第三个示例之三(二十九) ...
- 【WCF】使用“用户名/密码”验证的合理方法
我不敢说俺的方法是最佳方案,反正这世界上很多东西都是变动的,正像老子所说的——“反(返)者,道之动”.以往看到有些文章中说,为每个客户端安装证书嫌麻烦,就直接采用把用户名和密码塞在SOAP头中发送,然 ...
随机推荐
- excel支持正则表达式提取字符函数(支持RegExp捕获分组)
一.要让excel脚本支持Microsoft VBScript Regular Expressions 5.5 ,按快捷键alt+F11,出现下图界面,操作如图示: 二.添加VBA代码: 代码添加完毕 ...
- C语言内存四区的学习总结(二)---- 堆区
接上篇,内存四区的分析-静态区,下面来说明一下堆区总结. 堆区分析: 堆区(heap):一般由程序员分配释放(动态内存申请与释放),若程序员不释放,程序结束时可能由操作系统回 就下面的程序: #inc ...
- js 控制光标到指定位置
js控制光标到指定节点位置(适用于富文本编辑器中) function placeCaretAtEnd(el) { //传入光标要去的jq节点对象 el.focus(); if (typeof wind ...
- 配置Tomcat时遇到的问题
今天准备开始JavaWeb的学习,先配置tomcat,前期一切顺利,可当我打开startup.bat,访问localhost:8080时,却显示localhost 拒绝了我们的连接请求. 于是我开始在 ...
- Visual Studio Code 学习记录
Visual Studio Code的官方文档可以学到很多知识,不只是vs code的用法,包括一些语言的入门 和一些概念等等.很好的文档. ※,user.settings.json中的一些配置说明: ...
- java中super(),与构造方法链(constructor chaining)
public class Apple extends Fruit { } class Fruit{ public Fruit(String name){ System.out.println(&quo ...
- 隐藏Spring Elements
Spring Elements 显示出来很烦,如何隐藏
- log4j日志的使用
1.引架包和导配置文件log4j.properties <dependency> <groupId>org.slf4j</groupId> <artifact ...
- JSP与Servlet的关系
之前的文章里有说过,其实Servlet比JSP出现的早,JSP的本质就是Servlet,但是一个是jsp页面,一个是java类,硬要说他们的本质是一样的,搁谁都有点难以置信.后面的结论会更加让你吃惊. ...
- 基于jmeter的性能测试平台(一)分布式jmeter搭建
(1)概述 一台windows虚拟机作为controller,3台Linux虚拟机作为agent. 第一步是在所有虚拟机上安装JDK,版本最好是一样的,然后就是下载安装jmeter,网上资料很多这里不 ...