⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 srvdownload.cs

📁 c#精彩编程百例(源代码)
💻 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 + -