是否可以在Windows Service C#中获取用户输入

时间:2012-12-04 11:45:47

标签: c# windows-services

我正在使用C#开发Windows服务。我的一个要求是获得一些用户输入:提供一些选项并让他们选择一个;根据他们的选择,服务应该执行相关的操作。是否可以使用C#?

在Windows服务中获取用户输入

6 个答案:

答案 0 :(得分:3)

不,Windows服务不是为此而设计的。您需要使用桌面或Web应用程序。如果有充分的理由使用服务,则需要创建一个应用程序并让它将输入发送或传送给服务。

答案 1 :(得分:2)

我会编写一个单独的应用程序来管理数据库中的选项,用户可以更新服务也连接到的数据库,具体取决于这些值,服务应该相应地采取行动

答案 2 :(得分:1)

不,这是不可能的。您应该创建另一个Windows应用程序(例如winforms或WPF)并与服务进行通信并发送用户输入。您可以通过WCF进行通信。

答案 3 :(得分:1)

您可以使用Service Broker对用户输入消息进行排队,并根据UserId或唯一用户密钥将结果转储到另一个Queue中。

答案 4 :(得分:1)

像其他人一样说这是不可能的。顾名思义,Windows服务是一种服务。如果要将数据发送到Windows服务,可以通过ServiceController类(来自其他应用程序)或者通过WCF感觉特别冒险。

为什么要将其作为服务开发?

答案 5 :(得分:0)

是的,可以通过Windows服务从鼠标和键盘获取输入。这并不意味着,我们可以直接与windows服务进行交互。服务代码可以读取最后的键盘输入和鼠标位置以及其他事件。例如,service可以使用<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> <!-- NAVBAR --> <div class="navbar-wrapper"> <div class="container"> <div class="row"> <div class="col-md-12"> <nav class="navbar navbar-default navbar-static-top"> <div class="container navbar-wrap"> <div class="navbar-header col col-md-3"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand logo" href="#"><span class="brand-name">Project name</span></a> </div> <div class="col col-md-8 menu-middle"> <div id="navbar" class="navbar-collapse collapse nav-wrap"> <ul class="nav navbar-nav top-nav"> <li><a href="#"><i class="fa fa-user" aria-hidden="true"></i>My Account</a> </li> <li><a href="#"><i class="fa fa-heart" aria-hidden="true"></i>My Wishlist</a> </li> <li><a href="#"><i class="fa fa-external-link" aria-hidden="true"></i>Checkout</a> </li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">USD <span class="caret"></span></a> <ul class="dropdown-menu"> <li><a href="#">TL</a> </li> <li><a href="#">EURO</a> </li> </ul> </li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Turkish<span class="caret"></span></a> <ul class="dropdown-menu"> <li><a href="#">English</a> </li> </ul> </li> <div class="input-group nav-search-bar"> <form class="navbar-form"> <input type="text" class="form-control" placeholder="Enter your keyword"> <span class="input-group-btn"> <button class="btn btn-default" type="button"><i class="fa fa-search" aria-hidden="true"></i></button> </span> </form> </div> </ul> <ul class="nav navbar-nav main-nav text-uppercase"> <li class="active"><a href="">Home</a> </li> <li><a href="">Living Room</a> </li> <li><a href="">Bedroom</a> </li> <li><a href="">Dinning</a> </li> <li><a href="">Blog</a> </li> <li><a href="">Contact Us</a> </li> </ul> </div> <!--/.nav-collapse --> </div> <div class="my-cart-wrap col col-sm-1 menu-right"> <div class="shopping-cart-wrap"> <a href="#"> <i class="fa fa-shopping-cart" aria-hidden="true"></i> <br> <span class="my-cart">My Cart</span> <br> <span class="cart-item">0 Item</span> </a> </div> </div> </div> </nav> </div> </div> </div> </div> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>属性读取当前鼠标位置。