2009-10-04 4 views

답변

0

이 문제에 대한 더 나은 솔루션이 출시되고있다.

.Net Core를 타겟팅하는 경우 WebHostBuilder을 사용하여 ASP.Net Core를 자체 호스팅하는 것은 쉽지 않습니다.

또 다른 해결책은 Nancy이고, 이것은 또한 self-host에 용이하다.

1

항상 WCF을 사용하여 서비스 내에서 엔드 포인트를 호스트하고 그런 식으로 노출 할 수 있습니다.

내가 생각할 수있는 유일한 다른 옵션은 웹 응용 프로그램에서 쓸 수있는 파일과 서비스에서 읽을 수있는 파일 또는 웹 사이트에서 작성하고 서비스에서 읽은 데이터베이스가 있어야한다는 것입니다. WCF를 통해 통신 종단점을 단순히 노출하는 것만 큼 우아하지 않습니다.

편집 - 당신이 웹 서비스하고자하는 방법을하는 HTTP 엔드 포인트로이 노출하고 브라우저와 직접 인터페이스 생각하고 있었는데, 특히

을 추가했습니다.

그러나 서비스가 통신 끝점을 호스트하는 한 기존 Asp.Net 응용 프로그램이 해당 서비스와 통신하도록 설정하지 않아도됩니다.

+0

+1이 방법이 가장 깨끗한 것으로 생각합니다. 특히 진행중인 웹 서버를 호스팅하는 것보다 좋습니다. 나는 이런 식으로 WCF를 사용한다. 관심사를 분리하여 솔루션을 깔끔하게 설계 할 수 있습니다. WCF 서비스는 API를 노출하지만 UI는 독립적입니다. 어쩌면 우리는 오늘 웹 페이지로 드러날지도 모르지만, 내일 우리는 또한 데스크톱 도구를 제공합니다. – codenheim

1

대신 웹 서비스 인터페이스의 UI에서 찾고 있다면 몇 가지 당신이 할 수 있습니다 :

1)는 당신이 필요로하는 것보다 더있을 수 있지만 사용하여 서비스에 ASP.NET을 호스팅 할 수 있습니다 원래 카시니 코드베이스 : http://blogs.msdn.com/dmitryr/archive/2005/09/27/474534.aspx

2) 당신은 또한 단지 포트를 열고이 서비스에 액세스 할 것으로 예상 정도에 따라 서비스에 별도의 스레드 (들)에 대한 간단한 HTML 페이지를 넣을 수 있습니다.

나는이 두 가지를 모두 몇 번이나했는데 둘 중 하나는 보안에 신경 쓰지 않는 한 꽤 간단합니다. 신뢰할 수있는 인트라넷에서만 시스템에 액세스 할 수 있습니다. 그런 경우가 아니라면 컴퓨터에서 IIS를 호스팅하고 보안 웹 응용 프로그램을 작성하는 것이 좋습니다.

2

내가 만든 Windows 서비스에서 똑같은 일을하고 싶었습니다. 나는 마침내 도움이 될 기사를 찾았을지도 모른다. 아직 시도하지는 않았지만 샘플 소스와 함께 우리 모두가 필요로하는 기반이 있다고 생각합니다.

기사의 초점은 코드 내에서 웹 서비스 (ASMX)를 호스팅하는 방법이지만, ASPX 페이지를 쉽게 호스팅 할 수 있다고 가정합니다.

http://msdn.microsoft.com/en-us/magazine/cc163879.aspx

-Derek

+0

답변 해 주셔서 감사합니다. 나는 System.Web.Hosting (실제로, 나는 카시니를 보았다)을 보았고, 그것이 나의 필요를 위해 조금 복잡하다는 것을 발견했다. 나는 aspx 페이지를 호스팅 할 필요가 없다. 단지 들어오는 요청에 코드로 응답 할 수 있기를 원한다. 저는 실제로 System.Net.HttpListener를 사용하여 프로젝트를 시작했습니다. 나는 첫 번째 버전을 가지고있을 때 오픈 소스로 사용할 수 있도록 할 계획이다. 내가 할 때이 질문에 대한 답을 추가 할 것입니다. –

1

편집 : 탄원 se는 이것을 사용하지 않는다. 그것은 개념의 간단한 증명이었고 나는 결코 그것으로 어디에도 가지 않았습니다.제 다른 대답 better solutions을 참조하십시오.


글쎄, 늦지 않게 잘 지내. 그 일을 할 시간이별로 없었어요.

http://github.com/leddt/SimpleHttpServer

이 매우 기본적인 것들이며, 생산 용으로 사용할 수 없습니다. 그것은 내가 실험하고있는 작은 프로젝트입니다. 그러나 의견, 제안 등을 취할 것입니다 ...

관련 문제