【发布时间】:2011-05-05 20:24:26
【问题描述】:
我在尝试在生产服务器上使用 https 获取 SL4/WCF 应用程序时需要帮助。该应用程序使用 http 可以完美运行,使用 https 它会加载 xap 并显示登录页面,但是在尝试进行身份验证或进行 wcf 调用时出现一般错误:
“操作过程中发生异常,导致结果无效。检查 InnerException 以获取异常详细信息。”
“[Async_ExceptionOccurred] 论据: 调试资源字符串不可用。通常,关键和论据提供了足够的信息来诊断问题。见http://go.microsoft.com/fwlink/?linkid=106663&Version=4.0.60310.0&File=System.dll&Key=Async_ExceptionOccurred”
环境是 SL4 - MVVM、IIS7、Basic WCF、Silverlight 故障行为类和使用 Asp.net 成员资格提供程序的身份验证。网站和服务位于同一个目录中,所以我认为不存在跨域问题——该网站确实使用 http 并且 fiddler 没有显示缺少的 clientaccesspolicy.xml 文件——尽管我已经安装了该文件。在 xap 加载后,Fiddler 不会提供任何线索或流量。我也可以在使用 https 的同时直接浏览和访问服务。
任何帮助或建议将不胜感激。 谢谢, 最大。
这是 web.config:
<extensions>
<behaviorExtensions>
<add name="silverlightFaults" type="Accruit.RidgeLine.Behaviors.SilverlightFaultBehavior, Accruit.RidgeLine.Behaviors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</behaviorExtensions>
</extensions>
<behaviors>
<serviceBehaviors>
<behavior name="silverlightBehavior">
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" httpsHelpPageEnabled="true" />
</behavior>
<behavior name="">
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" httpsHelpPageEnabled="true" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="SilverlightFaultBehavior">
<silverlightFaults />
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
<services>
<service name="Accruit.RidgeLine.Web.BankingService" behaviorConfiguration="silverlightBehavior" >
<!-- Endpoint for Standard SOAP clients -->
<endpoint address="" contract="Accruit.RidgeLine.Web.IBankingService"
binding="basicHttpBinding" bindingConfiguration="basicHttpBinding_IBankingService"/>
<!-- Endpoint for Silverlight clients -->
<endpoint address="SilverlightEndPoint" contract="Accruit.RidgeLine.Web.IBankingService"
binding="basicHttpBinding" bindingConfiguration="basicHttpBinding_IBankingService_SilverlightEndPoint"
behaviorConfiguration="SilverlightFaultBehavior" />
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
</service>
</services>
<client>
<endpoint address="https://domainname.com/BankingService.svc"
binding="basicHttpBinding" bindingConfiguration="basicHttpBinding_IBankingService"
contract="BankingService.IBankingService" name="BasicHttpBinding_IBankingService" />
<endpoint address="https://domainname.com/BankingService.svc/SilverlightEndPoint"
binding="basicHttpBinding" bindingConfiguration="basicHttpBinding_IBankingService"
contract="BankingService.IBankingService" name="basicHttpBinding_IBankingService_SilverlightEndPoint" />
</client>
【问题讨论】:
-
您是否按照说明进行操作?在我看来,按照说明操作会导致您在本地机器上看到更多描述性错误消息...要在本地机器上查看这些描述性错误消息并获取其他调试资源,请安装最新版本的 Silverlight for Developers您的 Windows 或 Mac 计算机。
标签: silverlight wcf ssl https