0

我有一个调用 wcf 服务的 silverlight 应用程序,但在部署它时遇到了问题。

我可以发布文件,但是当应用程序尝试访问该服务时,它似乎没有得到任何回报。

该应用程序设置为使用 Windows 身份验证的客户端凭据

奇怪的是它没有抛出错误。silverlight 应用程序似乎只是以空白屏幕停止。

为了测试部署的服务,我尝试从浏览器访问它,并提示我输入凭据。我尝试输入我的姓名和密码,但它只是再次要求我提供凭据。

它提示我提供什么凭据?

我怎样才能克服这个?

这是客户端配置:

<configuration>
    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="BasicHttpBinding_IService" maxBufferSize="2147483647"
                    maxReceivedMessageSize="2147483647">
                    <security mode="TransportCredentialOnly" />
                </binding>
            </basicHttpBinding>
        </bindings>
        <client>

            <endpoint address="../Service.svc" binding="basicHttpBinding"
                bindingConfiguration="BasicHttpBinding_IService" contract="ServiceReference1.IService"
                name="BasicHttpBinding_IService" />
        </client>
    </system.serviceModel>
</configuration>

这是网络配置:

<configuration>
  <system.web>
    <httpRuntime executionTimeout="180" />
    <compilation debug="true" targetFramework="4.0" />
    <customErrors mode="Off"/>
  </system.web>

  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpStreamingBinding" maxBufferSize="2147483647"
          maxReceivedMessageSize="2147483647" transferMode="Streamed" receiveTimeout="01:00:00" sendTimeout="01:00:00">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          <security mode="TransportCredentialOnly">
            <transport clientCredentialType="Windows" />
            <!--<transport clientCredentialType="Ntlm" />-->
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>

    <client />

    <behaviors>
      <serviceBehaviors>
        <behavior name="">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>

    <serviceHostingEnvironment
        multipleSiteBindingsEnabled="true" />

    <services>
      <service name="CitationAir.MissionPlanning.WebService.Service">
        <endpoint address="" binding="basicHttpBinding" bindingConfiguration="BasicHttpStreamingBinding"
            contract="CitationAir.MissionPlanning.WebService.IService" />
      </service>
    </services>
  </system.serviceModel>

  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
4

1 回答 1

0

使用Windows Authentication,如果关闭,您将收到密码提示Integrated Windows Authentication,这可能是因为您使用的是 Internet Explorer 以外的浏览器。

如果您的account is locked out,如果您正在连接到 中的服务untrusted domain,或者您的帐户没有足够permissions的权限访问该资源,则密码将不起作用。

在这种情况下可能是其中任何一个吗?

于 2013-02-11T06:55:10.157 回答