如何调试:WCF服务调用在VS中有效,但在IIS中无效

2023-12-11

我正在尝试使用 ASP.Net AuthenticationService 对我的 Silverlight 应用程序中的用户进行身份验证。我有一个 Web 应用程序,其服务指向“System.Web.ApplicationServices.AuthenticationService”。我的 web.config 定义了服务、端点、绑定、行为等。对于会员数据库,我使用 SQL Express 和 MDF 文件。

我相当确定所有这些都设置正确,因为如果我在 Visual Studio 中运行它,一切都会正常工作。我的 Silverlight 应用程序调用 AuthenticationService,传入用户名和密码,然后返回响应。

但是,当我部署到 IIS 时,调用 AuthenticationService 总是会响应异常:“远程服务器返回错误:未找到”

我怀疑这与 SQL Express 有关,但无法查明问题所在。我尝试在系统帐户下运行 SQL Express。我尝试向网络服务帐户授予对 App_Data 文件夹的完全权限。我尝试了很多不同的连接字符串。

无论如何,任何人都可以提供有关如何使用 AuthenticationService 与 SQL Express 和 IIS 来部署 Silverlight 应用程序的任何提示或参考吗?

更新:我安装了SQL Server 2008的试用版并得到了相同的结果。当使用 Visual Studio 运行时,我可以让一切正常工作,但不能在 IIS 中运行。如果有人有关于如何在 IIS 中使用 Silverlight 的 AuthenticationService 的参考或教程,我将不胜感激。

更新 2:问题在于我在 SQL Server 中的身份验证设置。正如评论中所建议的,我能够通过启用跟踪来追踪这一点。我已将问题更新为如何调试此类问题,其中您的服务调用在 Visual Studio 中工作,但在 IIS 中不起作用。


例如,我已将此代码添加到配置中:

<system.diagnostics>
<sources>
  <source name="System.ServiceModel" switchValue="Critical,Error" >
    <listeners>
      <add name="xml" />
    </listeners>
  </source>
    <source name="System.ServiceModel.MessageLogging" switchValue="Critical,Error">
      <listeners>
        <add name="xml" />
      </listeners>
    </source>
</sources>
<sharedListeners>
  <add initializeData="D:\WcfLog.svclog" type="System.Diagnostics.XmlWriterTraceListener" name="xml" />
</sharedListeners>
<trace autoflush="true" />

A file with the extension "*.svclog" can be opened by Microsoft Service Trace Viewer. Trace Viewer And exceptions are more obvious now.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何调试:WCF服务调用在VS中有效,但在IIS中无效 的相关文章

随机推荐