Windows Service용 WebAPI

6869 단어 windows
단계:
1. WindowsService 프로젝트를 만듭니다.
2、Manage NuGet Packages를 클릭하여 Microsoft Asp.NET 웹 API Self Host Install 을 클릭합니다.
3. 서비스 편집.cs 파일은 다음과 같습니다.
 1 public partial class Service1 : ServiceBase

 2     {

 3         private HttpSelfHostServer _server;

 4         private readonly HttpSelfHostConfiguration _config;

 5         public const string ServiceAddress = "http://localhost:1345";

 6         public Service1()

 7         {

 8             InitializeComponent();

 9 

10             _config = new HttpSelfHostConfiguration(ServiceAddress);

11             _config.Routes.MapHttpRoute("DefaultApi",

12                 "api/{controller}/{id}",

13                 new { id = RouteParameter.Optional });

14         }

15 

16         protected override void OnStart(string[] args)

17         {

18             _server = new HttpSelfHostServer(_config);

19             _server.OpenAsync();

20         }

21 

22         protected override void OnStop()

23         {

24             _server.CloseAsync().Wait();

25             _server.Dispose();

26         }

27     }

28     public class ApiServiceController : ApiController

29     {

30         [HttpGet]

31         public string Get()

32         {

33             return "Hello from windows service!";

34         }

35     }

4, 서비스 열기 1.cs의 보기 디자이너, 보기 디자이너에서 임의의 위치에서 오른쪽 키,'설치 프로그램 추가' 를 선택하면 프로젝트와 아래에 1온? 프로젝트 Installer.cs의 그룹이 나타납니다. (설치 프로그램의 온을 처음 추가한 경우 프로젝트 Installer.cs를 두 번 눌러서 프로젝트 Installer의 보기 디자이너를 열고 서비스 Installer 1조품을 찾습니다. 선택한 후 F4키를 누르면 구성 요소 속성 온을 설정하고, Description = "테스트 서버 온?"DisplayName=“Service1”  ServiceName=“Service1”;//이 값은 Windows Service 1과 같아야 합니다.InitService() 메서드에서 설정된 base.ServiceName 속성이 온에 도착하면 StartType은 서비스 실행 유형입니다. 필요에 따라 설정하면 됩니다.(Manual: 수동으로 시작하고 AutoMatic은 자동으로 시작합니다.)ceProcessInstaller1 구성 요소를 찾으면 선택한 후 F4키를 누르면 구성 요소 속성을 설정합니다.Account="LocalSystem";//다른 속성으로 설정하면 서비스를 시작할 때 사용자 이름과 비밀번호를 입력하라고 알려 한 서비스의 모든 준비가 완료됩니다. 다음은 설치와 테스트 작업입니다.
5. 생성 디렉터리를 열고 생성에 성공하면 윈도 서비스가 있습니다.exe 파일, 생성 디렉터리 루트 디렉터리에 2bat (일괄 처리 파일) 를 추가합니다. 서버를 설치하고 마운트 해제하는 데 사용되며, 텍스트 파일을 새로 만듭니다. 파일을 열고 다음 두 줄의 명령을 추가합니다. C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe WindowsService1.exe pause 저장 후 텍스트 파일을 닫은 다음 '설치복.bat' 파일로 이름을 바꿉니다. 접미사 이름은 변경해야 합니다.bat!,텍스트 파일을 새로 만들고 파일을 열고 다음 두 줄의 명령을 추가합니다. C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe/u WindowsService1.exe pause 저장 후 텍스트 파일을 닫은 다음 '마운트 해제 bat' 파일로 이름을 바꿉니다. 접미사 이름을 수정하십시오.bat! 6.4 "설치복.bat"파일, 윈도우즈 서비스 설치.설치에 성공하면 수동으로 서비스를 시작해야 합니다. 왜냐하면 저희는 서비스Installer1을 설치했기 때문입니다.StartType=Manual에서 윈도우즈 서비스 관리자를 열고 서비스 1이라는 서비스를 찾으며 속성을 오른쪽 단추로 누르십시오.시동을 걸다.
 
6. 컴파일 시 설치 제거:
build events:Pre-build enent command line
net stop xxx exit/b 0
post-build event command line:
%systemroot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe/u $(TargetPath)%systemroot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe $(TargetPath)

좋은 웹페이지 즐겨찾기