Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일

iisreset 실행 시 "Restart attempt failed." 오류가 발생하지만 웹 서비스는 정상적인 경우

iisreset을 했더니 오류가 발생했습니다.

C:\Windows\System32> iisreset

Attempting stop...
Internet services successfully stopped
Attempting start...
Restart attempt failed.
The IIS Admin Service or the World Wide Web Publishing Service, or a service dependent on them failed to start.  The service, or dependent services, may had an error during its startup or may be disabled.

재미있는 것은, 이때의 서비스 관리자를 보면 "World Wide Web Publishing Service", "Windows Process Activation Service"까지 모두 Running 상태인데 유독 "IIS Admin Service"만 시작을 못했습니다. 그런데 ^^; 더욱 재미있는 것은 그냥 서비스 관리자에서 시작시키면 또 잘 됩니다. 즉, iisreset을 할 때만 저런 오류가 발생하면서 시작을 못하는 것입니다.

게다가 저 오류 메시지 출력에 상관없이 웹 애플리케이션의 동작에는 아무런 문제가 없습니다. (또한, 만약 시스템에 "IIS Admin Service"가 없다면 그래도 오류 메시지는 출력되고 역시 서비스 자체에는 아무런 문제가 없습니다. )

다행히, 이때의 이벤트 뷰어를 보면 "System" 범주에 오류 원인이 나옵니다.

Log Name:      System
Source:        Service Control Manager
Date:          2020-08-25 오후 10:48:34
Event ID:      7003
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      TESTPC
Description:
The Net.Msmq Listener Adapter service depends on the following service: msmq. This service might not be installed.

그런데 제어판에 가보면,

iisreset_msmq_1.png

분명히 "Message Queuing (MSMQ) Activation"을 켜지 않은 듯하지만, 그건 .NET 4.0에서 분리된 것으로 .NET 3.5 이하에서는 "Windows Communication Foundation Non-HTTP Activation"에 포함되어 있기 때문에 결국 NetMsmqActivator 서비스를 활성화시킨 것입니다.

실제로 서비스 관리자에서는,

iisreset_msmq_2.png

"Net.Msmq Listener Adapter" 서비스가 "Automatic"으로 되어 있고, 그 경로에는 "C:\WINDOWS\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation\SMSvcHost.exe" -NetMsmqActivator"라고 "v3.0"이 명시되어 있습니다.

결국 이 오류를 해결하려면 1) "Windows Communication Foundation Non-HTTP Activation" 구성 요소를 해제하든가 2) 서비스 관리자에서 "Net.Msmq Listener Adapter" 서비스를 "Automatic"에서 "Manual"로 바꾸든가 3) MSMQ 구성 요소를 설치하는 것 중의 하나를 선택해야 합니다.




참고로, IIS 7 이상의 사용자라면 "IIS Admin Service"가 굳이 필요하진 않으므로,

서비스 관리자에 "IIS Admin Service"가 등록되어 있지 않다면?
; https://www.sysnet.pe.kr/2/0/12344

위의 글에서 설명한 특정 조건을 요구하는 것이 아니라면 "IIS Metabase and IIS 6 configuration compatibility" 항목을 삭제해도 됩니다.




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 11/7/2023]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 61  62  63  64  65  66  [67]  68  69  70  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
12295정성태8/24/202019127오류 유형: 639. Bitvise - Address is already in use; bind() in ListeningSocket::StartListening() failed: Windows error 10013: An attempt was made to access a socket ,,,
12293정성태8/24/202020078Windows: 171. "Administered port exclusions" 설명
12292정성태8/20/202023386.NET Framework: 932. C# - ETW 관련 Win32 API 사용 예제 코드 (1)파일 다운로드2
12291정성태8/15/202019932오류 유형: 638. error 1297: Device driver does not install on any devices, use primitive driver if this is intended.
12290정성태8/11/202021271.NET Framework: 931. C# - IP 주소에 따른 국가별 위치 확인 [8]파일 다운로드1
12289정성태8/6/202018262개발 환경 구성: 502. Portainer에 윈도우 컨테이너를 등록하는 방법
12288정성태8/5/202016552오류 유형: 637. WCF - The protocol 'net.tcp' does not have an implementation of HostedTransportConfiguration type registered.
12287정성태8/5/202018849오류 유형: 636. C# - libdl.so를 DllImport로 연결 시 docker container 내에서 System.DllNotFoundException 예외 발생
12286정성태8/5/202020311개발 환경 구성: 501. .NET Core 용 container 이미지 만들 때 unzip이 필요한 경우
12285정성태8/4/202019230오류 유형: 635. 윈도우 10 업데이트 - 0xc1900209 [2]
12284정성태8/4/202018616디버깅 기술: 169. Hyper-V의 VM에 대한 메모리 덤프를 뜨는 방법
12283정성태8/3/202020294디버깅 기술: 168. windbg - 필터 드라이버 확인하는 확장 명령어(!fltkd) [2]
12282정성태8/2/202017386디버깅 기술: 167. windbg 디버깅 사례: AppDomain 간의 static 변수 사용으로 인한 crash (2)
12281정성태8/2/202021488개발 환경 구성: 500. (PDB 연결이 없는) DLL의 소스 코드 디버깅을 dotPeek 도구로 해결하는 방법
12280정성태8/2/202019064오류 유형: 634. 오라클 (평생) 무료 클라우드 VM 생성 후 SSH 접속 시 키 오류 발생 [2]
12279정성태7/29/202021530개발 환경 구성: 499. 닷넷에서 접근해보는 InterSystems의 Cache 데이터베이스파일 다운로드1
12278정성태7/23/202017583VS.NET IDE: 149. ("Binary was not built with debug information" 상태로) 소스 코드 디버깅이 안되는 경우
12277정성태7/23/202019706개발 환경 구성: 498. DEVPATH 환경 변수의 사용 예 - .NET Reflector의 (PDB 연결이 없는) DLL의 소스 코드 디버깅
12276정성태7/23/202019484.NET Framework: 930. 개발자를 위한 닷넷 어셈블리 바인딩 - DEVPATH 환경 변수
12275정성태7/22/202021319개발 환경 구성: 497. 닷넷에서 접근해보는 InterSystems의 IRIS Data Platform 데이터베이스파일 다운로드1
12274정성태7/21/202020380개발 환경 구성: 496. Azure - Blob Storage Account의 Location 이전 방법 [1]파일 다운로드1
12273정성태7/18/202023559개발 환경 구성: 495. Azure - Location이 다른 웹/DB 서버의 경우 발생하는 성능 하락
12272정성태7/16/202016030.NET Framework: 929. (StrongName의 버전 구분이 필요 없는) .NET Core 어셈블리 바인딩 규칙 [2]파일 다운로드1
12271정성태7/16/202019551.NET Framework: 928. .NET Framework의 Strong-named 어셈블리 바인딩 (2) - 런타임에 바인딩 리디렉션파일 다운로드1
12270정성태7/16/202020324오류 유형: 633. SSL_CTX_use_certificate_file - error:140AB18F:SSL routines:SSL_CTX_use_certificate:ee key too small
12269정성태7/16/202017695오류 유형: 632. .NET Core 웹 응용 프로그램 - The process was terminated due to an unhandled exception.
... 61  62  63  64  65  66  [67]  68  69  70  71  72  73  74  75  ...