关于WCF服务的各种错误

龟宝宝 2011-09-19 09:28:47
1 首先 创建一个wcf服务库 没有自己写一段代码 都是VS自带 的小例子 希望各位好心人能帮忙看看 分数不是问题 问题是我真没多少分 我的QQ是 783433664 有学习WCF 的可以加我 一起研究下哈
下面是服务端CONfig文件
2

<?xml version="1.0" encoding="utf-8"?>
<configuration>

<system.web>
<compilation debug="true" />
</system.web>
<!-- 部署服务库项目时,必须将配置文件的内容添加到
主机的 app.config 文件中。System.Configuration 不支持库的配置文件。-->
<system.serviceModel>
<services>
<service name="WcfServiceLibrary2.Service1">
<host>
<baseAddresses>
<add baseAddress="http://www.911rmb.com/WcfServiceLibrary2.Service1.svc" />
</baseAddresses>
</host>
<!-- Service Endpoints -->
<!-- 除非完全限定,否则地址将与上面提供的基址相关 -->
<endpoint address="" binding="wsHttpBinding" contract="WcfServiceLibrary2.IService1">
<!--
部署时,应删除或替换下列标识元素,以反映
用来运行所部署服务的标识。删除之后,WCF 将
自动推断相应标识。
-->
<identity>
<dns value="www.911rmb.com" />
</identity>
</endpoint>
<!-- Metadata Endpoints -->
<!-- 元数据交换终结点供相应的服务用于向客户端做自我介绍。 -->
<!-- 此终结点不使用安全绑定,应在部署前确保其安全或将其删除-->
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- 为避免泄漏元数据信息,
请在部署前将以下值设置为 false 并删除上面的元数据终结点 -->
<serviceMetadata httpGetEnabled="True" />
<!-- 要接收故障异常详细信息以进行调试,
请将以下值设置为 true。在部署前设置为 false
以避免泄漏异常信息-->
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
<system.webServer>
<directoryBrowse enabled="true" />
</system.webServer>

</configuration>



在客户端端引用后生成的config 我自己修改了一下<security mode="None">

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IService1" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
allowCookies="false">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="None" negotiateServiceCredential="true"
algorithmSuite="Default" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<client>
<endpoint address="http://www.911rmb.com/WcfServiceLibrary2.Service1.svc"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IService1"
contract="ServiceReference1.IService1" name="WSHttpBinding_IService1">
<identity>
<dns value="www.911rmb.com" />
</identity>
</endpoint>
</client>
</system.serviceModel>
</configuration>

客户端调用代码

static void Main(string[] args)
{
ServiceReference1.Service1Client ss = new ServiceReference1.Service1Client();
while (true)
{
var ket = Console.ReadLine();
var value = ss.GetData(int.Parse(ket));
Console.WriteLine(value);
}
}



客户端显示错误为
无法处理消息。这很可能是因为操作“http://tempuri.org/IService1/GetData”不正确,或因为消息包含无效或过期的安全上下文令牌,或因为绑定之间出现不匹配。如果由于未处于活动状态导致服务中止了该通道,则安全上下文令牌无效。若要防止服务永久中止闲置会话,请增加服务终结点绑定上的接收超时
...全文
271 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
龟宝宝 2011-09-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yosyg 的回复:]
重新引用就不报错了
[/Quote]
那是因为我刚刚 把服务器端的 配置文件修改了
yosyg 2011-09-19
  • 打赏
  • 举报
回复
重新引用就不报错了

龟宝宝 2011-09-19
  • 打赏
  • 举报
回复
有人告诉我要加 证书认证是怎么 做的呢 按照你的方法 我把服务器端的配置文件修改了 重新引用就不报错了
宝_爸 2011-09-19
  • 打赏
  • 举报
回复
看错误应该是服务器端要求安全认证,但是客户端没有提供

客户端的config要和服务器端匹配,一般不修改客户端,而是修改服务器端的配置。再在客户端update service reference...

myhql19851216 2011-09-19
  • 打赏
  • 举报
回复
你契约的命名空间地址有问题,注意:默认的是http://tempuri.org/,
修改为:Namespace="www.911rmb.com"试试
馨香紫韵 2011-09-19
  • 打赏
  • 举报
回复
不懂你要让解决什么问题
本书是WCF的权威指南。WCF是Microsoft推出的在Windows操作系统下开发面向服务应用程序的统一平台,是革命性的技术平台。作为微软授予的“软件英杰”,本书作者Juval Lwy曾经参与了WCF的战略性设计,并与WCF的开发团队一同合作,因此本书具有很高的实用价值,它对WCF进行了深入的技术剖析,而非死板的文档化描述。本书关注隐藏在特殊设计决策之后的根本原理,这些原理包括SOA开发中极度匮乏的文档,以及难以理解的特性等。通过本书,开发者与架构师不仅能够了解如何进行WCF程序设计,还能够掌握相关的设计准则、最佳实践以及WCF存在的缺陷。   本书包括50多个工具和辅助类,以及70多个设计图,它们都设计用来提高我们的生产力,保障WCF服务的质量,同时能弥补WCF自身存在的一些缺陷,并帮助简化和自动化特定任务。   除了介绍面向服务的基础知识外,本书涵盖了以下内容:   •服务契约分解。   •事务与错误处理。   •数据契约版本控制与封送。   •并发管理。   •可伸缩性策略。   •队列服务。   •操作、调用与事件。   •面向服务安全性。   •本书从软件工程的角度出发,深入探索了WCF的每个主题。本书能够使您如虎添翼,从而设计出可维护的、可扩展的、可重用的SOA应用程序。

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧