我的 .NET 4.0 Web 应用程序项目中有一个 WCF 端点。使用VS2010 WCF测试客户端,我可以正确连接到该服务。但是,当我使用该服务时,我收到一条通用错误消息:
内容类型text/html;响应消息的 charset=UTF-8 与绑定的内容类型(text/xml;charset=utf-8)不匹配。如果使用自定义编码器,请确保正确实现 IsContentTypeSupported 方法。响应的前 1024 个字节是:
我发现当我从 web.config 文件中删除身份验证时,服务可以正常工作:
<authentication mode="Forms">
<forms cookieless="AutoDetect" loginUrl="~/Security/LoginClient.aspx" name="FORMAUTH" />
</authentication>
有什么想法可以如何从身份验证中删除此服务?
您可以使用 web.config 中的位置节点从表单身份验证中排除特定文件:
<location path="MyService.svc">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
一种更简单的方法是将不需要身份验证的服务相关文件分组到公共文件夹中并允许访问整个文件夹:
<location path="MyServiceFolder/">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
MSDN 上有关位置元素的更多信息:
http://msdn.microsoft.com/en-us/library/b6x6shw7%28vs.71%29.aspx http://msdn.microsoft.com/en-us/library/b6x6shw7%28vs.71%29.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)