2011-03-10 2 views
3

Visual Studio에서 새로운 "WCF 서비스 응용 프로그램"을 만들고 Service1.svc를 마우스 오른쪽 단추로 클릭하면 "브라우저에서보기"를 선택할 수 있습니다. 웹 브라우저는"서비스를 만들었습니다." 어떻게 이런일이 일어 났습니까?

Service1 Service 

You have created a service. 

To test this service, you will need to create a client and use it to call the service. You can do this using the svcutil.exe tool from the command line with the following syntax: 

svcutil.exe http://localhost:50311/Service1.svc?wsdl 
... 

라고하는 http://localhost:50311/Service1.svc을 보여주는 나타납니다 내가 솔루션을 닫으면 웹 페이지에 액세스되기 때문에 어떻게 든, 비주얼 스튜디오 자체에 묶여 보인다 서비스. 무슨 일이야? 나는 웹 서버를 설치하지 않았고 (의도적으로) 서비스를 시작하지 않았다. 표시된 웹 페이지의 출처는 무엇이며 포트 50311에서 그 이유는 무엇입니까? 페이지를 사용자 정의 할 수 있습니까?

+0

정확히 VS가 한 것처럼 말한 것 같습니다. 아마도 당신이 원하는 것을 설명 할 수있을 것입니다. 그리고 누군가는 아마 거기에 도착하는 방법을 제안 할 수 있습니다. –

+0

주로 나는 무엇이 진행되고 있는지 이해하고 싶습니다. Ctrl + F5 키를 사용하여 실행하면 웹 서버의 루트가 "ASP.NET Development Server 9.0.0.0"이라는 자체를 호출합니다. 나는 심지어 WCF 서비스가 웹 서버 내부에서 정상적으로 실행된다는 것을 알지 못했고 VS가 웹 서버와 함께 제공되는 것을 알지 못했다.하지만 생각했을 때 분명했다 (그렇지 않으면 어떻게 ASP.NET out-of- 상자? ASP.NET을 사용 해본 적이없는 것 같습니다.) – Qwertie

+0

내 목표는 동일한 컴퓨터 또는 다른 컴퓨터의 클라이언트 프로세스와 통신하는 Windows 서비스의 서버를 만드는 것입니다. 통신 프로토콜은 중요하지 않습니다. 단, 통신 링크가 느린 경우에 대비하여 메시지의 크기를 최소화하고 서버에서 클라이언트로 "푸시"메시지를 지원해야합니다. Windows 서비스로 실행하는 것뿐만 아니라 독립 실행 형 실행 파일로도 실행할 수 있어야합니다. – Qwertie

답변

3

웹 서버가 필요한 프로젝트의 디버거 인스턴스를 실행할 때 시작되는 개발 웹 서버가 표시됩니다. (WCF, ASP.NET).

포트 50311은 프로젝트 설정에 의해 결정됩니다 (대부분 임의이지만 지정할 수 있습니다).

.svc 파일의 페이지는 사용자 정의 할 수 없습니다. 서비스가 발신자를 기다리고 있기 때문에 기본 페이지가 제대로 실행되고 있음을 알립니다.

WCF는 다양한 프로토콜 (HTTP, TCP)을 사용하는 몇 가지 바인딩 옵션을 제공합니다. 선택하는 프로토콜에 따라 IIS, Windows 서비스 또는 다른 곳에서 호스트해야합니다. 기본적으로 새 서비스는 IIS에서 작동하는 바인딩을 채택합니다.

체크 아웃 Introduction to Building Windows Communication Foundation Services

관련 문제