首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于Win32Exception服务的WCF @ ServiceHost.Open()

用于Win32Exception服务的WCF @ ServiceHost.Open()
EN

Stack Overflow用户
提问于 2009-10-09 07:07:44
回答 1查看 1.9K关注 0票数 3

我正在为我正在编写的大量WCF服务基础设施编写BDD规范。我注意到,我编写的每个规范都涉及到对ServiceHost.Open()的调用,这一行需要2-6秒才能执行(随着我添加越来越多的规范,时间会不断增长)。我注意到,当调用此方法时,会抛出一个Win32Exception:

代码语言:javascript
复制
Win32Exception occurred
Message: The specified domain either does not exist or could not be contacted.
Stack Trace: at System.ServiceModel.UpnEndpointIdentity.GetUpnFromDownlevelName(String downlevelName)
NativeErrorCode: 1355
ErrorCode: -2147467259

ServiceModel配置如下:

代码语言:javascript
复制
<system.serviceModel>
  <services>
    <service name="TestServices.Calculator" behaviorConfiguration="default">
      <endpoint
        name="calculator"
        address=""
        binding="wsHttpBinding"
        contract="TestServiceContracts.ICalculator" />
      <endpoint
        address="mex"
        binding="mexHttpBinding"
        contract="IMetadataExchange" />
      <host>
        <baseAddresses>
          <add baseAddress="http://localhost/calculator" />
        </baseAddresses>
      </host>
    </service>
  </services>

  <behaviors>
    <serviceBehaviors>
      <behavior name="default" >
        <serviceMetadata httpGetEnabled="true" />
      </behavior>
    </serviceBehaviors>
  </behaviors>
</system.serviceModel>

注意:我已经配置了Http.sys并添加了http://+:80/calculator/作为http名称空间排除,所以这不是问题的一部分。

此错误在Windows 7旗舰版系统上最为严重。在Vista Ultimate系统上,它似乎不会对性能造成太大的影响,但是ServiceHost.Open()在执行上花费了大量的时间。我不明白为什么当URL是本地主机时,这会是一个问题……我希望环回接口是所有接口中最快的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-10-09 11:25:39

问题不在于本地主机与dns名称...这与WCF调用SAM来将服务的TranslateName()标识从与TranslateName()兼容的名称(即域\用户)转换为规范名称,并抱怨它无法连接到作为输入呈现的与SAM兼容的名称中指定的域有关。

不确定这可能是什么原因造成的,但可能是您在UPN标识中指定了错误的域,或者您的机器的域注册有问题,或者防火墙阻碍了您的工作。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1542242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档