gpt4 book ai didi

visual-studio-2008 - Windows 7 x64 上的 WCF 调试

转载 作者:行者123 更新时间:2023-12-02 04:15:44 25 4
gpt4 key购买 nike

我使用 Visual Studio 2008 创建了一个非常简单的 WCF 沙盒项目,其中包括:

  • 控制台客户端应用程序
  • WCF 服务库,在 WcfSvcHost.exe 中运行

  • 我无法在我的 Windows 7 x64 系统上调试 WCF 服务。我得到一个弹出窗口说:

    Unable to automatically debug 'ServiceLibrary'. The remote procedure could not be debugged. This usually indicates that debugging has not been enabled on the server.



    该服务是 Visual Studio 2008 开箱即用的模板“IService1”。客户调用 GetData()直接操作,所以也没什么特别的。

    我尝试了 this question 中的建议,这并没有让我找到解决方案,但是 WCF 跟踪日志包含一个特殊的异常:
    <E2ETraceEvent>
    <System>
    <EventID>131075</EventID>
    <Type>3</Type>
    <SubType Name="Warning">0</SubType>
    <Level>4</Level>
    <TimeCreated SystemTime="2010-05-28T17:43:31.0190250Z" />
    <Source Name="System.ServiceModel" />
    <Correlation ActivityID="{2f5e007a-d4d0-4046-9ab5-f6384b862a4f}" />
    <Execution ProcessName="WcfSvcHost" ProcessID="6692" ThreadID="5" />
    <Channel />
    <Computer>SUBSPACE</Computer>
    </System>
    <ApplicationData>
    <TraceData>
    <DataItem>
    <TraceRecord Severity="Warning">
    <Description>Throwing an exception.</Description>
    <AppDomain>D:\PathTo\Service\bin\Debug\ServiceLibrary.dll.config</AppDomain>
    <Exception>
    <ExceptionType>System.ComponentModel.Win32Exception, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
    <Message>The specified domain either does not exist or could not be contacted</Message>
    <StackTrace>
    at System.ServiceModel.UpnEndpointIdentity.GetUpnFromDownlevelName(String downlevelName)
    at System.ServiceModel.UpnEndpointIdentity.GetUpnFromWindowsIdentity(WindowsIdentity windowsIdentity)
    at System.ServiceModel.UpnEndpointIdentity.EnsureIdentityClaim()
    at System.ServiceModel.EndpointIdentity.get_IdentityClaim()
    at System.ServiceModel.Security.SecurityUtils.GetSpnFromIdentity(EndpointIdentity identity, EndpointAddress target)
    ...
    </StackTrace>
    <ExceptionString>System.ComponentModel.Win32Exception: The specified domain either does not exist or could not be contacted</ExceptionString>
    <NativeErrorCode>54B</NativeErrorCode>
    </Exception>
    </TraceRecord>
    </DataItem>
    </TraceData>
    </ApplicationData>
    </E2ETraceEvent>

    (缩短了堆栈跟踪并剥离了一些无趣的东西, full text here)

    它似乎在提示域名,但我的计算机不在任何域内。我在上述 XML 中的任何地方都没有看到域名,但它确实有我的计算机名称 (SUBSPACE)。任何人都知道可能导致这种情况的原因吗?

    客户端和服务在它们的端点定义中都有这个,尽管我已经尝试将它取出或更改为我的计算机名称:
    <identity>
    <dns value="localhost" />
    </identity>

    当我使用 Debug - Start New Instance 单独启动服务和客户端时,它们是可调试的,但我希望事情能够按预期工作......

    最佳答案

    讯息

    <ExceptionString>System.ComponentModel.Win32Exception: 
    The specified domain either does not exist or could not be contacted</ExceptionString>

    可能表明当您的机器尝试解析“ \username” 并且出于某种原因 时出现问题域名 无法正确解决。

    当您在工作组模式下运行时,它应该解析为您的本地计算机。从命令提示符尝试运行一个简单的:
    ping %USERDOMAIN%

    看看这是否有效。它应该尝试 ping 您的本地 IP。

    关于visual-studio-2008 - Windows 7 x64 上的 WCF 调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2931619/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com