2014-07-04 1 views
0

관리자 그룹에있는 Windows 8.1 컴퓨터에서 WCF Net.Tcp 서비스를 호스팅 할 때 다음 오류가 발생합니다. 액세스가 거부 되었기 때문에 서비스 끝점에서 'net.tcp : // localhost : 9001/dataservice'URI를 수신하지 못했습니다. 현재 사용자에게 SMSvcHost.exe.config의 해당 allowAccounts 섹션에 액세스 권한이 부여되었는지 확인하십시오.net.tcp의 WCF 오류 "액세스가 거부 되었기 때문에 서비스 끝점에서 URI를 수신하지 못했습니다.

<?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 머신의 컨피규레이션 변경에 대한 필요성은 없습니까?

답변

0

구성에 올바른 sid를 추가했지만 실제로 잘못된 sid를 사용했다고 생각했습니다. sid를 얻으려면 cmd를 사용했습니다. psgetsid는 나 자신이 현재 로그인 한 사용자가 아니라고 가정하고, psgetid [username] cmd를 사용하여 다른 sid를 보냈습니다. 이것을 사용하면 이제 작동합니다.

1

here에 설명 된대로 smsvchost.exe.config 파일의 "allowedAccounts"태그 섹션을 업데이트 한 다음 Net.Tcp 포트 공유 서비스를 다시 시작했지만 여전히이 오류가 발생했습니다. 그러나 동일한 프로세스 인스턴스 내에서 실행되는 추가 서비스가 있습니다. 동일한 프로세스 인스턴스를 공유하는 서비스는 다음과 같습니다

Net.Tcp Listener Adapter 
Net.Tcp Port Sharing Service 
Net.Pipe Listener Adapter 
Net.Msmq Listener Adapter Correction: Net.Msmq service actually runs in different instance of SMSvcHost.exe, so you shouldn't have to restart that service. 

이러한 서비스 중 하나가 컴퓨터에서 실행중인 경우, 당신은 다음, 그들 모두를 중지 구성 파일에 변경 내용을 순서대로 다시 시작해야 할 집어 들었다. 기계를 다시 시작하면 트릭을 수행합니다.

+1

내 컴퓨터에서 실행중인 서비스가있는 것 같지 않지만 구성 변경 후에도 컴퓨터를 다시 시작하려고했으나 여전히 같은 오류가 발생했습니다. – Rubans

관련 문제