服务无法启动访问被拒绝

时间:2017-07-06 20:36:38

标签: wcf

  

无法启动服务。 System.ServiceModel.CommunicationException:   服务端点无法侦听URI   '的net.tcp:// ssis01:9176 / SSISService_v2_0 /'因为访问被拒绝了。   验证是否已授予当前用户相应的访问权限   SMSvcHost.exe.config的allowAccounts部分。 --->   System.ComponentModel.Win32Exception:拒绝访问   System.ServiceModel.Activation.SharedMemory.Read(String name,String&   内容)   System.ServiceModel.Channels.SharedConnectionListener.SharedListenerProxy.ReadEndpoint(字符串   sharedMemoryName,String& listenerEndpoint)---内心的结束   异常堆栈跟踪--- at   System.ServiceModel.Channels.SharedConnectionListener.SharedListenerProxy.ReadEndpoint(字符串   sharedMemoryName,String& listenerEndpoint)at   System.ServiceModel.Channels.SharedConnectionListener.SharedListenerProxy.HandleServiceStart(布尔   isReconnecting)at   System.ServiceModel.Channels.SharedConnectionListener.SharedListenerProxy.Open(布尔   isReconnecting)在System.Ser。

我尝试了什么 我不是管理员也许这就是问题,对于那个

1)在allowAccounts部分的S​​MSvcHost.exe.config中添加了我的用户SID。然后重新启动服务,首先是NETSharing,然后是SSISService

2)启动ssis Service时会抛出错误"本地计算机上的服务启动和停止。如果某些服务未被其他服务和程序使用,则会自动停止。 ERROR上方的消息来自Logs

以下是SMSvcHost.exe.config的配置文件

<?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-21-873128402-3342024598-2051005476-53521"/>
        </allowAccounts>
        </net.tcp>          
    </system.serviceModel.activation>       
</configuration>

2 个答案:

答案 0 :(得分:1)

正如您在问题中提到的那样,由于您的用户没有足够的特权而收到此错误,以管理员身份运行Visual Studio是解决此问题的一种方法。

答案 1 :(得分:0)

我花了一些时间来解决这个问题

步骤1。在“运行”命令窗口 regedit.exe

步骤2:转到位置(路径位于屏幕截图的底部),以获取管理员的SID。 enter image description here

步骤3:复制管理员的SID,在这里您将看到所有已登录用户的SID。但您只需要它为ADMIN,如何知道它是管理员?      右键单击服务,转到“属性”,然后单击“登录选项卡”。      如果您看到屏幕截图1,您会看到 ProfileImagePath 具有相同的名称 DataSVC

enter image description here

步骤3:主要部分配置更改 使用SMSvcHost.exe.config中的ADMIN SID添加此行代码。

<system.serviceModel.activation>
        <net.tcp listenBacklog="10" maxPendingConnections="100" maxPendingAccepts="2" receiveTimeout="00:00:10" teredoEnabled="false">
        <allowAccounts>
            <add securityIdentifier="**ADMIN SID ID HERE** "/>
        </allowAccounts>
        </net.tcp>          
    </system.serviceModel.activation> 

步骤5:首先重启NETTCP共享,然后重启其他服务。应该解决这个错误的问题。谢谢大家