gpt4 book ai didi

c# - 带有 net.tcp 的 WCF 错误“服务端点未能监听 URI,因为访问被拒绝

转载 作者:行者123 更新时间:2023-12-03 22:47:57 25 4
gpt4 key购买 nike

在我位于管理员组的 Windows 8.1 机器上托管 WCF Net.Tcp 服务时出现以下错误:
服务端点未能监听 URI“net.tcp://localhost:9001/dataservice”,因为访问被拒绝。在 SMSvcHost.exe.config 的相应 allowAccounts 部分验证当前用户是否被授予访问权限。

我什至按照建议将用户添加到配置中:

<?xml version="1.0" encoding="utf-8"?>
<!-- The configuration file for SMSvcHost.exe -->
<configuration>
<runtime>
<gcConcurrent enabled="false" />
</runtime>
<system.serviceModel>
<!-- SMSvcHost ETW traces are redirected by default to an etwProviderId different from WCF's default.
To trace to the default provider, remove the etwProviderId attribute below. -->
<diagnostics performanceCounters="Off" etwProviderId="{f18839f5-27ff-4e66-bd2d-639b768cf18b}"/>
</system.serviceModel>
<system.serviceModel.activation>
<net.tcp listenBacklog="10" maxPendingConnections="100" maxPendingAccepts="2" receiveTimeout="00:00:10" teredoEnabled="false">
<allowAccounts>
<add securityIdentifier="S-1-5-18"/>

<add securityIdentifier="S-1-5-19"/>

<add securityIdentifier="S-1-5-20"/>

<add securityIdentifier="S-1-5-32-544" />


<add securityIdentifier="S-1-5-21-2476327175-1934278006-4092406606"/>
</allowAccounts>
</net.tcp>
<net.pipe maxPendingConnections="100" maxPendingAccepts="2" receiveTimeout="00:00:10">
<allowAccounts>
<add securityIdentifier="S-1-5-18"/>

<add securityIdentifier="S-1-5-19"/>

<add securityIdentifier="S-1-5-20"/>

<add securityIdentifier="S-1-5-32-544" />


<add securityIdentifier="S-1-5-21-2476327175-1934278006-4092406606"/>
</allowAccounts>
</net.pipe>
<diagnostics performanceCountersEnabled="true" />
</system.serviceModel.activation>
</configuration>

但是仍然出现相同的错误,这可以正常工作,无需在 W7 机器上更改配置,有什么想法吗?

最佳答案

一步步:

  • 下载工具 PSGETSID.EXE 来自 Windows Sysinternals Live .这是 的 Microsoft 实时存储库系统内部 工具。
  • 执行命令: psgetsid.exe [您的用户名]
  • 这将列出 SID 为您的用户名。记下来。
  • 打开 Windows 服务 .
  • 右键单击 Net.Tcp 端口共享服务 并选择 属性在菜单上。
  • 常规选项卡 ,找到可执行文件的路径。打开 Windows 资源管理器 并转到该文件夹​​。这是运行服务的文件夹。
  • 查找并打开文件 SMSvcHost.exe.config .
  • 添加以下值:
    <system.serviceModel.activation>
    <net.tcp listenBacklog="16" maxPendingAccepts="4" maxPendingConnections="100" receiveTimeout="00:00:30" teredoEnabled="false">
    <allowAccounts>
    <!-- LocalSystem account -->
    <add securityIdentifier="S-1-5-18"/>
    <!-- LocalService account -->
    <add securityIdentifier="S-1-5-19"/>
    <!-- Administrators account -->
    <add securityIdentifier="S-1-5-20"/>
    <!-- Network Service account -->
    <add securityIdentifier="S-1-5-32-544" />
    <!-- IIS_IUSRS account (Vista only) -->
    <add securityIdentifier="S-1-5-32-568"/>
    <!-- Your user account SID -->
    <add securityIdentifier="Your SID Here" />
    </allowAccounts>
    </net.tcp>
    <diagnostics performanceCountersEnabled="true" />
    </system.serviceModel.activation>
  • 将更改保存到文件 SMSvcHost.exe.config .
  • 重启 Net.Tcp 端口共享服务 .

  • 完毕!

    希望能帮助到你。

    关于c# - 带有 net.tcp 的 WCF 错误“服务端点未能监听 URI,因为访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24576646/

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