之前没有接触过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 的学习过程的更多相关文章

  1. C#设计模式总结

    一.引言 经过这段时间对设计模式的学习,自己的感触还是很多的,因为我现在在写代码的时候,经常会想想这里能不能用什么设计模式来进行重构.所以,学完设计模式之后,感觉它会慢慢地影响到你写代码的思维方式.这 ...

  2. C#设计模式总结(转)

    一.引言 经过这段时间对设计模式的学习,自己的感触还是很多的,因为我现在在写代码的时候,经常会想想这里能不能用什么设计模式来进行重构.所以,学完设计模式之后,感觉它会慢慢地影响到你写代码的思维方式.这 ...

  3. GOF23设计模式汇总

    转自:http://www.cnblogs.com/zhili/p/DesignPatternSummery.html#3037698 C#设计模式总结 一.引言 经过这段时间对设计模式的学习,自己的 ...

  4. C#设计模式总结 C#设计模式(22)——访问者模式(Vistor Pattern) C#设计模式总结 .NET Core launch.json 简介 利用Bootstrap Paginator插件和knockout.js完成分页功能 图片在线裁剪和图片上传总结 循序渐进学.Net Core Web Api开发系列【2】:利用Swagger调试WebApi

    C#设计模式总结 一. 设计原则 使用设计模式的根本原因是适应变化,提高代码复用率,使软件更具有可维护性和可扩展性.并且,在进行设计的时候,也需要遵循以下几个原则:单一职责原则.开放封闭原则.里氏代替 ...

  5. 【原创经验分享】JQuery(Ajax)调用WCF服务

    最近在学习这个WCF,由于刚开始学 不久,发现网上的一些WCF教程都比较简单,感觉功能跟WebService没什么特别大的区别,但是看网上的介绍,就说WCF比WebService牛逼多少多少,反正我刚 ...

  6. 跟我一起学WCF(13)——WCF系列总结

    引言 WCF是微软为了实现SOA的框架,它是对微乳之前多种分布式技术的继承和扩展,这些技术包括Enterprise Service..NET Remoting.XML Web Service.MSMQ ...

  7. 再见WCF

    转眼微软的WCF已走过十个年头,它是微软通信框架的集大成者,将之前微软所有的通信框架进行了整合,提供了统一的应用方式.记得从自己最开始做MFC时,就使用过Named Pipe命名管道,之后做Winfo ...

  8. WCF学习之旅—第三个示例之四(三十)

           上接WCF学习之旅—第三个示例之一(二十七)               WCF学习之旅—第三个示例之二(二十八)              WCF学习之旅—第三个示例之三(二十九)   ...

  9. 【WCF】使用“用户名/密码”验证的合理方法

    我不敢说俺的方法是最佳方案,反正这世界上很多东西都是变动的,正像老子所说的——“反(返)者,道之动”.以往看到有些文章中说,为每个客户端安装证书嫌麻烦,就直接采用把用户名和密码塞在SOAP头中发送,然 ...

随机推荐

  1. 采用Google预训bert实现中文NER任务

    本博文介绍用Google pre-training的bert(Bidirectional Encoder Representational from Transformers)做中文NER(Name ...

  2. (29)Why Earth may someday look like Mars

    https://www.ted.com/talks/anjali_tripathi_why_earth_may_someday_look_like_mars/transcript00:12So whe ...

  3. Golang处理数据库的nil数据

    在用golang获取数据库的数据的时候,难免会遇到可控field.这个时候拿到的数据如果直接用string, time.Time这样的类型来解析的话会遇到panic. 那么如何处理这个问题呢,第一个出 ...

  4. 只要一行代码求一串字符中某字符(串)出现次数,c#

    这里只要一行代码就行. static void Main(string[] args) { string str = "qwerwqr;sfdsfds;fdfdsf;dfsdfsdf;dsf ...

  5. junit 方法:assertEquals 和 assertTrue

    assertEquals 和 assertTrue 区别相同之处:都能判断两个值是否相等 assertTrue 如果为true,则运行success,反之Failure assertEquals 如果 ...

  6. [转] OpenStack — nova image-create, under the hood

    I was trying to understand what kind of image nova image-create creates. It's not entirely obvious f ...

  7. C#轻量级通通讯组件StriveEngine —— C/S通信开源demo(2) —— 使用二进制协议 (附源码)

    前段时间,有几个研究ESFramework通信框架的朋友对我说,ESFramework有点庞大,对于他们目前的项目来说有点“杀鸡用牛刀”的意思,因为他们的项目不需要文件传送.不需要P2P.不存在好友关 ...

  8. CoCos2dx开发:中文乱码

    一.FontToUTF8()方法修改字体: 1.HelloWorldScene.h头文件中声明方法: char* FontToUTF8(const char* font); 2.HelloWorldS ...

  9. 线性插值法的原理和python代码实现

    假设我们已知坐标 (x0, y0) 与 (x1, y1),要得到 [x0, x1] 区间内某一位置 x 在直线上的值.根据图中所示,我们得到 由于 x 值已知,所以可以从公式得到 y 的值 已知 y  ...

  10. Ubuntu下OpenCV版本切换

    1.假如安装了opencv以下两个版本: opencv-2.4.13 opencv-3.2.0 2.安装目录分别为: /usr/local/opencv-2.4.13 /usr/local/openc ...