📄 srvdownload.cs
字号:
namespace srvDownload
{
using System;
using System.Collections;
using System.Core;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Web.Services;
using System.Diagnostics;
using System.ServiceProcess;
using System.IO;
using System.Net;
public class srvDownload : System.ServiceProcess.ServiceBase
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components;
public srvDownload()
{
// This call is required by the WinForms Component Designer.
InitializeComponent();
// TODO: Add any initialization after the InitComponent call
}
// The main entry point for the process
static void Main()
{
System.ServiceProcess.ServiceBase[] ServicesToRun;
// More than one user Service may run within the same process. To add
// another service to this process, change the following line to
// create a second service object. For example,
//
// ServicesToRun = New System.ServiceProcess.ServiceBase[] {new srvDownload(), new MySecondUserService()};
//
ServicesToRun = new System.ServiceProcess.ServiceBase[] { new srvDownload() };
System.ServiceProcess.ServiceBase.Run(ServicesToRun);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
this.ServiceName = "srvDownload";
}
/// <summary>
/// Set things in motion so your service can do its work.
/// </summary>
protected override void OnStart(string[] args)
{
// TODO: Add code here to start your service.
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = "c:\\temp";
// Watch files only.
watcher.Target = WatcherTarget.File;
// Watch for changes in Attributes, Security, Size, and LastAccess and LastWrite times.
watcher.ChangedFilter = ChangedFilters.Attributes | ChangedFilters.LastAccess |ChangedFilters.LastWrite | ChangedFilters.Security | ChangedFilters.Size;
// Only watch text files.
watcher.Filter = "*.txt";
// Add event handlers.
watcher.Changed+=new FileSystemEventHandler(OnChanged);
// Begin watching.
watcher.Enabled = true;
}
// Define the event handlers.
public static void OnChanged(object source, FileSystemEventArgs e)
{
HttpWebRequest webreq ;
HttpWebResponse webresp ;
FileStream fs;
BinaryReader r;
BinaryWriter w;
//open file for writing
fs = new FileStream(@"c:\ComPrj.dll", FileMode.OpenOrCreate, FileAccess.Write);
webreq = (HttpWebRequest)WebRequestFactory.Create("http://localhost/files/compPrj.dll");
webresp = (HttpWebResponse)webreq.GetResponse();
r = new BinaryReader(webresp.GetResponseStream());
w=new BinaryWriter(fs);
//save this in a file with the same name
try
{
while(true)
w.Write(r.ReadByte());
}
catch(System.Exception ep)
{
w.Flush();
w.Close();
}
}
/// <summary>
/// Stop this service.
/// </summary>
protected override void OnStop()
{
// TODO: Add code here to perform any tear-down necessary to stop your service.
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -