【问题标题】:WCF Services - Configuration web service binding exceptionWCF 服务 - 配置 Web 服务绑定异常
【发布时间】:2015-11-18 13:14:52
【问题描述】:

全部,

环境: ASP.NET 4.0

IIS 7(或更高版本)

SL 组件使用的 WCF 服务

身份验证: 匿名/表格

当我尝试浏览到我的 WCF Web 服务(使用浏览器)时,我的 Web 服务出现以下异常,我需要消除此错误:

在主机上配置的身份验证方案('IntegratedWindowsAuthentication')不允许在绑定'BasicHttpBinding'('Anonymous')上配置的那些。请确保将 SecurityMode 设置为 Transport 或 TransportCredentialOnly。此外,可以通过 IIS 管理工具、通过 ServiceHost.Authentication.AuthenticationSchemes 属性、在元素的应用程序配置文件中更改此应用程序的身份验证方案、通过更新绑定上的 ClientCredentialType 属性或通过调整来解决此问题HttpTransportBindingElement 上的 AuthenticationScheme 属性。

我查看了所有相关的帖子,但没有一个对我有帮助。 我没有为我的服务使用任何身份验证或用户/密码传输。 我需要开始工作的服务由 Silverlight 组件使用,并且在 web.config 文件中有这个名称: Htmls.WebStore.Services.WebStoreServices(忽略其他服务)。

这是我的 web.config:

<system.serviceModel>
<bindings>
  <basicHttpBinding>
            <binding name="WebStoreServices_InsecureTransport" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
                <readerQuotas maxDepth="4096" />
                <security mode="None" />
            </binding>
    <binding name="basicHttpBinding" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647">
      <security mode="None" />
    </binding>
  </basicHttpBinding>
</bindings>
<behaviors>
  <endpointBehaviors>
    <behavior name="SitefinityWebApp.Sitefinity.Services.Content.EventsAspNetAjaxBehavior">
      <enableWebScript />
    </behavior>
    <behavior name="EndpBehavior">
      <webHttp />
    </behavior>
  </endpointBehaviors>
  <serviceBehaviors>
    <behavior>
      <serviceMetadata httpGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
    <behavior name="Telerik.Sitefinity.Web.Services.LocalizationBehavior" />
    <behavior name="ServiceBehavior">
      <serviceMetadata httpGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<services>
        <service name="Htmls.WebStore.Services.WebStoreServices">
            <endpoint address="" binding="basicHttpBinding" bindingConfiguration="WebStoreServices_InsecureTransport" contract="Htmls.WebStore.Services.IWebStoreServices" />
        </service>
  <service name="SitefinityWebApp.Sitefinity.Services.Content.Events">
    <endpoint address="" behaviorConfiguration="SitefinityWebApp.Sitefinity.Services.Content.EventsAspNetAjaxBehavior" binding="webHttpBinding" contract="SitefinityWebApp.Sitefinity.Services.Content.Events" />
  </service>
</services>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />

【问题讨论】:

  • 错误告诉您 IIS 未配置为与绑定匹配。尝试在 IIS 中开启匿名身份验证,或在域帐户下运行服务的应用程序池。
  • 已为站点的匿名用户启用身份验证。应用程序池权限设置为网络服务,这就是服务必须运行的内容。奇怪的是,如果文件夹没有正确的权限或匹配的权限怎么办,这个愚蠢的错误可能会发生???当我回到家时,我会测试这个理论。

标签: asp.net wcf iis-7.5 wcf-binding


【解决方案1】:

异常是由于对 xxxxx.svc 文件所在文件夹的权限不正确造成的。该文件夹已使用安全权限锁定。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-26
    • 2013-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多