asp.net - 公共(public) WCF 服务需要身份验证,尽管未指定安全性

标签 asp.net wcf web-services

我已在 ASP.NET 站点上名为 WebServices 的子文件夹中发布了 WCF 服务 (MyService.svc)。

在本地 ASP.NET Web 服务器上运行时,它工作正常。例如,当发布到 IIS 运行的站点并尝试访问 /WebServices/MyService.svc/jsdebug 时,我收到 401 Unauthorized。网站的其余部分运行良好。

有人知道为什么吗?


以下是MyService.svc的内容:

<%@ServiceHost 
    Language="C#"
    Debug="true" 
    Service="MyApp.Core.MyService, MyApp.Core"
    Factory="System.ServiceModel.Activation.WebScriptServiceHostFactory"
%>

MyApp.Core.MyService 是一个实现 IMyService 的类(具有属性 ServiceContract 和带有属性 OperationContract 的方法声明) )。

最佳答案

默认情况下,除非另有配置,否则 WCF 服务将执行 Windows 身份验证。我认为以下应该可以解决问题:

  <bindings>
    <wsHttpBinding>
      <binding name="wsHttp">
        <security mode="None"/>
      </binding>
    </wsHttpBinding>
  </bindings>

..并配置您的端点以使用此绑定(bind)配置。

关于asp.net - 公共(public) WCF 服务需要身份验证,尽管未指定安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1839271/

相关文章:

java - 如何在 java 中使用 php web 服务

web-services - 调用 GetListItems Web 服务的 SharePoint SoapServerException

c# - 在 Razor View 中的 ASP.NET WEB API 中获取路由前缀的 URL

c# - asp.net中捕获请求静态文件

wpf - 是否建议将 WCF 与 WPF 和 MVVM 一起使用从 SQL Server 检索数据?

c# - 从类库中使用 Web 服务

.net - 如何在 IIS 托管的 WCF 服务中实现许可证控制

javascript - asp.net webservice jquery填充文本框

javascript - Facebook 点赞/分享当前 URL

c# - 'WebSupergoo.ABCpdf7.Internal.NDoc' 的类型初始值设定项抛出异常