2013-03-11 4 views
0

나는이 문구를 어떻게 표현할 지 잘 모르겠습니다.IIS 서버에서 간단한 서버 프로세스를 실행하는 방법

내가하고 싶은 일은 단순히 들어오는 소켓 연결을 수신하고 지정한 방식으로 처리하는 C#에서 간단한 서버 유형 응용 프로그램을 만드는 것입니다. 아주 간단한 채팅 응용 프로그램이나 그와 비슷한 것일 수 있습니다.

예 : http://msdn.microsoft.com/en-us/library/fx6588te.aspx 비동기 소켓에 대해 살펴 보았습니다.

나는 코드가 어떻게 실행되는지에 대해 확신 할 수 없다는 점을 제외하고는 예제의 코드를 이해합니다. 특히이 예제에서 응용 프로그램의 진입 점은 무엇입니까? 서버가 어떻게 시작하는지 알 수 있습니까?

IIS에서만 경험 한 것은 C# 코드 숨김이있는 웹 양식입니다. URL이 위치를 가리키고 다시 포스트 백 등을 가리키면 웹 양식의 코드가 실행된다는 것을 이해합니다.

웹 양식을 사용하지 않고 단순히 컬렉션을 사용하고 싶을 때 단일 진입 점 (Java 응용 프로그램과 유사)이있는 C# 클래스 파일 선명도

편집 :

내가하고 싶은 것을의 목표는 내가 지속적으로 클라이언트 응용 프로그램의 요청을 수락 할 내 웹 호스트에 넣어 그들에게 직접 지정한 방식으로 처리 할 수있는 응용 프로그램을 작성하는 것입니다 그런 다음 정보를 클라이언트로 리턴하십시오. 웹 양식에 대해서만 알고 있기 때문에 서버에 응용 프로그램을 시작하는 방법을 모르겠습니다.
처음에는 브라우저를 웹 양식으로 이동하고 단추를 눌러 응용 프로그램을 시작해야한다고해도 괜찮습니다. 사실, 내가 원하는대로 응용 프로그램을 시작하고 중지 할 수 있다면 이상적입니다. 또한 잘못된 용어를 사용했을 수도 있습니다. IIS 서버는 asp.net 응용 프로그램을 실행할 수있는 서버라고 생각했습니다. 나는 이것에 대해 매우 틀릴 수있다.

감사합니다.

+0

자체 호스팅 응용 프로그램이므로 서버 자체입니다. 당신은 그것을 위해 IIS가 필요하지 않습니다. – Andrey

+0

소켓 연결의 경우 웹 서버를 사용하고 싶지 않습니다. 이제는'.EXE'를 작성하는 것입니다. 나중에 약간의 코드를 추가하여 Windows 서비스로 등록 할 수 있습니다. –

+0

당신은 아마 맞을 것입니다. 저는 이런 종류의 일에 익숙하지 않지만 웹 호스트에서 exe를하는 방법을 모르겠습니다. – Mason

답변

2

IIS를 사용하여 Windows 응용 프로그램을 시작할 수 없으면 지정된 포트를 지속적으로 수신하는 Windows 서비스 응용 프로그램이 필요하며 시스템 시작시 또는 원하는 이벤트가 시작될 때 Windows 서비스 응용 프로그램을 예약해야합니다 . Windows 서비스 응용 프로그램은 응용 프로그램이 작동하기를 원하는 한 메모리에 있어야합니다.

추신 : 귀하의 질문에 진지하게 약간의 편집이 필요하지만, 저는 또한 새삼 스럽습니다. 그래서 나는 존경받을만한 고위 사용자가 자신이 가장 잘하는 것을 할 수 있도록 할 것입니다.

편집 : 당신이 여기보다 더 IIS가 가장 가까운 내기 있습니다 사용하여 Windows 서비스를 시뮬레이션하려면, 당신이 알 필요가 무엇인지에 대한 링크를 따르십시오.

Forcing your Application to Stay alive

이 두 링크

Simulate Windows Service Using ASP.NET App

은 (당신이 인용 자바 스타일) 응용 프로그램과 bamm, 당신은 당신이 그것을 수행 할 어떤 작업을 수행 할 수있는 클래스의 수를 만들 수 있습니다 당신이 살아 유지하는 데 도움이됩니다

+0

무엇을 편집하고 싶습니까? – Mason

+0

@Mason HttpListener가있는 Windows 서비스가있는 데스크톱 응용 프로그램을 만들면이 작업을 수행 할 수 있습니다. 응용 프로그램에 대한 진입 점이 있습니다. 아래 링크는 C# Windows 서비스 생성을 이해하는 데 도움이됩니다. http://tech.pro/tutorial/895/creating-a-simple-windows-service-in-csharp http://www.codeproject.com/ 기사/14353/Creating-a-Basic-Windows-Service-in-C –

+0

아마 맞겠지 만 내 PC에서 응용 프로그램을 실행하고 싶지 않아서 호스팅 서버에서 실행하고 싶습니다.또한, 내 게시물에서 편집해야 할 내용을 알려주시겠습니까? 그래서 앞으로 실수를하지 마십시오. – Mason

2

IIS를 전혀 사용하고 싶지 않은 것처럼 들립니다. IIS는 사용자의 청취를 처리하며 요청을 관리하는 "서비스"입니다.수동으로 들어오는 연결을 수신 할 lookng하는 경우에, 당신은 다음과 같은 구성 요소가 필요합니다 : 그것으로 내장

  1. 이있는 Windows 서비스를 실행 ..

  2. HTTP를 수신기를.

C# HttpListener 클래스를 살펴보고 서버 배경에서 실행할 수있는 창 서비스를 작성하는 프로세스를 살펴보십시오.

이 모든 것이 그렇게 어려운 것은 아니지만, 내가 필요한만큼 확실하지는 않습니다. 웹 폼을 사용하고 싶지 않다면, 요청을 직접적으로 사용자 정의 처리기로 해결하는 웹 응용 프로그램을 만들 수 있습니다.이 처리기는 사용자가 실제로 찾고있는 것으로 생각하고 자신의 청취자를 지나치게 과장되게 만듭니다.

편집 : http://support.microsoft.com/kb/308001

나는 또한 .NET에서 MVC3에 대한 몇 가지 초보 기사에서 보일 것이다 : 사용자 정의 핸들러에 대한 추가 정보를 원하시면 여기

사용자 정의 핸들러는 그것을 사용하는 방법을 무엇에 시작이다 . MVC는 webforms가 가지고있는 솜털 모양 (예 : viewstate)이없는 프레임 워크이며 URL (요청)을 Controller (클래스)로 라우트하고 원하는 모든 것을 반환 할 수있게 해줍니다. MVC를 사용하면 많은 장점이 있습니다. 자바/순수한 http 배경에서 오는 경우 webform보다 훨씬 더 의미가 있습니다.

".net MVC3 시작하기"를 검색하거나 초보자 용 리소스가 필요하면 www.asp.net으로 시작하십시오.

+0

대부분 당신이 말하는 것을 이해하지만 혼란 스럽네요. Windows 서비스에 대해. 내 PC에서 서버를 실행하고 싶지 않아 이미 가지고있는 호스팅 제공 업체의 서버를 사용하고 싶습니다. 나는 네가 끝까지 이야기하고 싶은 것을 원한다고 생각한다. 이것을 찾는데 사용해야하는 자료 나 조건을 나눌 수 있겠습니까? 감사! – Mason

+1

나는 이것이 내가 받아 들였던 것과 똑같이 도움이된다고 믿기 때문에 두 가지 대답을 받아 들일 수 있기를 바란다. – Mason

0

낮은 수준의 TCP 통신, 서비스 작성 및 구성, 코드 변경 처리, IIS 및 HTTP를 사용하는 것보다 자신의 직렬화/요청 구문 분석 작성 등을 배우는 것이 목표가 아니라면.

WebForms - WebService (ASP.Net 또는 WCF)를 사용할 필요가 없으며 MVC Web API은 사용자 지정 직렬화 및 구문 분석 인프라를 작성할 필요없이 원하는 메서드를 구현할 수있는 기능을 제공합니다. 필요한 경우 긴 여론 조사 (예 : SignalR)를 할 수 있습니다.

채팅 클라이언트 작성 (지속성, 다른 클라이언트 검색, 빠른 상태 업데이트)과 관련된 모든 문제를 표시하면서 JSON 결과를 서버 측으로보고하는 기본적인 MVC 응용 프로그램부터 시작하여 커뮤니케이션 자체에 집중할 수 있습니다. (필요한 경우 쉽게 모든 트래픽을 볼 수 있음).

관련 문제