silverlight wcf服务提示凭证

时间:2013-02-11 00:02:33

标签: wcf silverlight

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

我可以发布文件,但是当应用程序尝试访问该服务时,它似乎无法获得任何回复。

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

奇怪的是它不会抛出错误。银光应用似乎停止了一个黑屏。

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

它提示我提供哪些凭据?

我怎样才能超越这个?

这是客户端配置:

<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>

1 个答案:

答案 0 :(得分:0)

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

如果您使用account is locked outuntrusted domain,或者如果您的帐户没有足够permissions来访问该资源,则密码将无效。

可能是这种情况下的任何一个吗?