Как работать с событием нажатия двух кнопок в движке MVC-ASPX
Я хочу создать файл журнала с помощью TimerControl в приложении MVC.
Я создал службу WCF и разместил ее на windows server. Теперь мне нужно использовать свой сервис в приложении MVC 4, используя кнопки" Пуск "и" стоп". Когда я нажимаю кнопку Пуск, служба должна запускаться, если я нажимаю кнопку стоп, служба должна останавливаться.
Я добился этого в приложении Windows, потребляя WCF. Но я новичок в MVC, я не знаю, как писать внутри start и stop.
Но я написал в индексе, когда загружается веб-приложение, Мой журнал запускается, но журнал должен запускаться, когда я нажимаю кнопку "Пуск". Не могли бы вы пожалуйста помочь мне.
Что я уже пробовал:
Вот код для службы WCF:
namespace WindowServicecode { public class WindowServicecode : IWindowServicecode { public void Getmessage(string message) { FileStream fs = new FileStream(@"d:\ScheduledService.txt", FileMode.OpenOrCreate, FileAccess.Write); StreamWriter sw = new StreamWriter(fs); sw.BaseStream.Seek(0, SeekOrigin.End); sw.WriteLine(message); sw.Flush(); sw.Close(); } } }
Смотреть:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %> <!DOCTYPE html> <script runat="server"> </script> <html> <head runat="server"> <meta name="viewport" content="width=device-width" /> <title>Index</title> </head> <body> <%--<form id="form1" runat="server" method="post">--%> <form id="form1" runat="server" method="post"> <div> <asp:Button ID="Button_start" runat="server" Text="Start" /> <asp:Button ID="Button_stop" runat="server" Text="Stop" /> <br /> <br /> <br /> <asp:Label ID="Label1" runat="server" Text="Select Start Button to Start the service"></asp:Label> </div> </form> </body> </html>
Индекс:
namespace AutoMVCClient.Controllers { public class IndexController : Controller { System.Timers.Timer timer = new System.Timers.Timer(); WindowServiceHost.WindowServicecodeClient client = new WindowServiceHost.WindowServicecodeClient("NetTcpBinding_IWindowServicecode"); // GET: /Index/ public ActionResult Index() { client.Getmessage("start service" + DateTime.Now); timer.Elapsed += new System.Timers.ElapsedEventHandler(OnElapsedTime); timer.Interval = 10000; timer.Enabled = true; return View(); } private void OnElapsedTime(object source, System.Timers.ElapsedEventArgs e) { client.Getmessage("Another entry at " + DateTime.Now); } } }