vs2015怎么不支持vs2012创建webserviceindows service了

8、C# vs2010编写Windows Service程序(windows服务程序)
我的图书馆
8、C# vs2010编写Windows Service程序(windows服务程序)
&Windows Service简介:
一个Windows服务程序是在Windows操作系统下能完成特定功能的可执行的应用程序。Windows服务程序虽然是可执行的,但是它不像一般的可执行文件通过双击就能开始运行了,它必须有特定的启动方式。这些启动方式包括了自动启动和手动启动两种。
对于自动启动的Windows服务程序,它们在Windows启动或是重启之后用户登录之前就开始执行了。只要你将相应的Windows服务程序注册到服
务控制管理器(Service Control
Manager)中,并将其启动类别设为自动启动就行了。而对于手动启动的Windows服务程序,你可以通过命令行工具的NET START 命令来启动它,或是通过控制面板中管理工具下的服务一项来启动相应的Windows服务程序。
同样,一个Windows服务程序也不能像一般的应用程序那样被终止。因为Windows服务程序一般是没有用户界面的,所以你也要通过命令行工具
或是下面图中的工具来停止它,或是在系统关闭时使得Windows服务程序自动停止。因为Windows服务程序没有用户界面,所以基于用户界面的API
函数对其是没有多大的意义。为了能使一个Windows服务程序能够正常并有效的在系统环境下工作,程序员必须实现一系列的方法来完成其服务功能。
Windows服务程序的应用范围很广,典型的Windows服务程序包含了硬件控制、应用程序监视、系统级应用、诊断、报告、Web和文件系统服务等功
和Windows服务程序相关的命名空间涉及到以下两个:System.ServiceProcess&和System.Diagnostics。
用C#创建Windows服务的步骤:
1.创建Windows Service项目
从Visual C# 工程中选取 Windows 服务(Windows Service)选项,给工程一个新文件名,然后点击 确定。
2.向服务中函数功能实现
&OnStart函数在启动服务时执行,OnStop函数在停止服务时执行。在这里,当启动和停止服务时,向一个文本文件中写入一些文字信息,代码如下:
using System.Collections.G
using ponentM
using System.D
using System.D
using System.IO;
using System.L
using System.ServiceP
using System.T
using System.Threading.T
namespace MyService
public partial class Service1 : ServiceBase
public Service1()
InitializeComponent();
protected override void OnStart(string[] args)
FileStream fs = new FileStream(@"d:\xx.txt", FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs);
sw.BaseStream.Seek(0, SeekOrigin.End);
sw.WriteLine("WindowsService: Service Started" + DateTime.Now.ToString() + "\n");
sw.Flush();
sw.Close();
fs.Close();
//protected override void OnContinue()
base.OnContinue();
//protected override void OnPause()
base.OnPause(); // father class method inherit
//protected override void OnShutdown()
base.OnShutdown();
protected override void OnStop()
FileStream fs = new FileStream(@"d:\xx.txt", FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs);
sw.BaseStream.Seek(0, SeekOrigin.End);
sw.WriteLine("WindowsService: Service Stopped" + DateTime.Now.ToString() + "\n");
sw.Flush();
sw.Close();
fs.Close();
4.回到设计窗口点右键选择-添加安装程序 -生成serviceInstaller1和&serviceProcessInstaller1两个组件&把serviceInstaller1的属性ServiceName改写为你的服务程序名,并把启动模&式设置为AUTOMATIC&&把serviceProcessInstaller1的属性account改写为&LocalSystem&&
5.编译链接生成服务程序
通过从生成菜单中选择生成来生成项目。
6.安装服务
用.net&framework工具INSTALLUTIL安装服务程序即可。
用项目的输出作为参数,从命令行运行 InstallUtil.exe。在命令行中输入下列代码:&installutil yourproject.exe&&&&&& 通过命令提示(开始——Microsoft Visual Studio 2010——Visual Studio Tools——Visual Studio 命令提示(2010)),输入类似:installutil& E:\WindowsServiceTest\WindowsServiceTest\bin\Debug\WindowsServiceTest.exe(我的项目生成后的项目bin文件夹内)
Hint: a windows service must first be installed using
installutil.exe and then started with the serviceExplorer, windows
Services Administrative tool or the NET START command.
7.卸载服务
用项目的输出作为参数,从命令行运行 InstallUtil.exe。
installutil /u yourproject.exe
如上服务程序运行结果截图:
1.Service启动属性:
& & & & Manual&&&&& 服务安装后,必须手动启动。
& & & &&Automatic&&& 每次计算机重新启动时,服务都会自动启动。
& & & & Disabled&&&& 服务无法启动。
2.新建的Service项目,其中各属性的含义(设计视图-&右键属性):
  Autolog 是否自动写入系统的日志文件
  CanHandlePowerEvent 服务时候接受电源事件
  CanPauseAndContinue 服务是否接受暂停或继续运行的请求
  CanShutdown 服务是否在运行它的计算机关闭时收到通知,以便能够调用 OnShutDown 过程
  CanStop 服务是否接受停止运行的请求
  ServiceName 服务名
3. 也可以在系统服务管理器中,设置相应Service的属性或启动方式等
计算机管理 -& 服务和应用程序&&-& 服务&&-& ...
发表评论:
TA的最新馆藏VS2015无法启动 IIS Express Web解决办法,服务器
VS2015无法启动 IIS Express Web解决办法,服务器
作者:admin┆ 时间: 17:44 ┆点击: 次
  不要勾选【覆盖应用程序根URL(U)】,或让【覆盖应用程序根URL(U)】下面的输入框和上面的输入框的地址一样!
  使用VS2013有一段时间了,因前期都是编写C/S程序,没有使用到B/S调试器。前几日,创建了一个MVC项目,突然发现VS2013无法调试,报了这样的错。
  一下子有点蒙,why?
  修改项目属性的Web项,如下。
  F5运行,仍然出错。
  这时候我知道了是Web调试器没有启动,但是却不明白为什么。于是检查IIS8.5的安装情况,把一些可能需要安装的都给装了。
  F5运行,问题依旧。
  问题焦点已经很清楚了,就是IIS Express未能启动。于是想到查看事件,看有没有记录更具体的日志。
  相关的事件有三条,前两条相同,分别如下。
  怎么和iisnode有关系,我们知道,iisnode是集成在IIS中用于托管node.js应用程序来取代自托管node.exe进程的一个模块。
  &C:Program Files
(x86)iisnode-devreleasex86iisnode.dll&根本就不存在,这下更加晕了。为什么IIS
Express会启动失败还是不清楚。
  我决定要彻底搞清楚IIS Express到底是什么东西。
  ===============================华丽分割线==============================
  当前程序员只能通过下面两种web服务器之一来开发和测试ASP.NET网站程序:
  1. Visual Studio自带的ASP.NET开发服务器(webdev.exe)。
  2. Windows自带的IIS Web服务器。
  上面两个方案各有优缺点,而且很多ASP.NET程序员告诉我们:&我希望有一个像ASP.NET开发服务器那样容易使用,但是功能又跟IIS一样强大的服务器&。今天我很高兴地宣布,我们将提供另一个新的、免费的、综合了前两个方案的优点的选择&IIS
Express,它的出现使得开发和运行ASP.NET网站程序变得更为容易。
  IIS Express支持VS 2010和Visual Web Develop 2010 Express,可以运行在Windows
XP和更高的版本上,它不需要管理员权限即可运行,也不要求代码做任何的改动。你可以用它开发所有类型的ASP.NET程序,而且它还支持完整的IIS
7.x功能集。
  现有方案
  在详细介绍IIS Express之前,我们先来看看ASP.NET开发服务器和IIS的工作方式。
  ASP.NET开发服务器
  Visual
Studio自带的ASP.NET开发服务器(开发代号&Cassini&)的优势在于简练和便于快速启动。它不需要监听远程连接请求(因此在大部分企业的安全网络环境中都可以使用它),你甚至都不需要使用管理员账号就能启动它,而且它也不要求额外的安装步骤。
  正是因为具备启动方便这一巨大优势,才使得它成为ASP.NET项目的默认服务器,当你在Visual Studio中按下F5时就会启动它。
  但ASP.NET开发服务器的缺点是它不提供完整的Web服务器功能。比如说,它不支持SSL,URL重写规则,自定义安全设置,和其它在IIS
7中支持的功能。
  IIS Web服务器
  用Visual Studio运行和测试程序还有第二个选择& IIS。你可以通过右键单击Visual
studio中的Web项目,打开它的属性(在属性窗口中单击&Web&标签)来配置Web工程使用IIS。
  使用IIS作为你的开发服务器允许你测试完整的Web服务器具备的功能(SSL,URL重写规则等)。IIS是一个货真价实的Web服务器&这意味着和在作业服务器上部署差不多开发环境。
  但是采用IIS的缺点是,有些公司并不允许在开发机上安装完整的Web服务器。IIS还要求使用管理员帐号来安装和调试网站。不同版本的Windows又支持不同版本的IIS。例如,在Windows
XP上,你只能使用自带的IIS 5.1&所有IIS 7.x的新功能它都不支持。另外,在VS里配置网站项目使用IIS,还得一些额外的安装和配置步骤。
  IIS Express & &鱼&和&熊掌&兼得
  IIS Express综合了ASP.NET开发服务器易用性的优势和IIS强大的功能。确切地说:
  它简练并且易于安装(文件大小不到10兆而且安装速度相当快)。
  在Visual Studio中不需要管理员权限即可启动和调试程序。
  提供了完整的Web服务器功能&&包括SSL, URL重写,多媒体支持和所有其他的IIS 7.x模块。
  它的可扩展模型和web.config配置结构和IIS 7.x是一样的。
  它可以和IIS Web服务器还有ASP.NET开发服务器同时运行在同一台机器上(他们不会相互冲突)。
  它支持Windows XP及更高版本的操作系统&在所有操作系统平台上提供了完整的IIS 7.x功能集。
Express(跟ASP.NET开发服务器一样)可以快速地从硬盘上的某个文件夹上启动网站程序。它不需要任何注册或配置步骤。在网站开发过程中,这个特性使启动和运行网站显得相当便捷。
  与VS的整合
  Visual Studio 2010的SP1引入了IIS Express支持。你将可以配置VS
2010使用它取代ASP.NET开发服务器作为ASP.NET项目默认的Web服务器。跟现在的ASP.NET开发服务器一样,你不需要在IIS
Express里注册站点或者虚拟目录。它支持和ASP.NET开发服务器相同的使用方法&&只是添加了更多 的功能而已。
  当你按下F5来运行ASP.NET项目时,Visual Studio自动启动IIS
Express并且使用它来运行和调试网站程序(不需要额外的配置)。跟ASP.NET开发服务器一样,IIS
Express运行时,会在任务栏的通知区域显示一个小图标:
  右键单击上面的图标并选择&退出&就可以快速关闭IIS
Express。你也可以通过右键单击来列出正在运行的站点列表,还有站点的文件夹路径以及使用的.NET版本:
  [备注:上图IIS Express为英文版]
  请注意上图中两个很酷的地方:
  1. 正在运行的站点&Test Site&,还有IIS
Express本身,保存在硬盘的c:users[用户名]文件夹中。这就允许非管理员用户使用IIS
Express和网站,而且还支持一些现在的IIS服务器没有办法实现的场景(例如可以在受限的企业网络环境或受限的学校公共电脑上运行IIS
Express)。
  2. 上面正在运行的站点&Test Site&同时支持HTTP和HTTPS的访问方式。IIS
Express通过自动安装&自签名证书&来支持URL访问控制列表(URL
ACL)和SSL认证,这样程序员(以非管理员用户登录电脑)可以在不需要提升用户权限,或执行额外设置的情况下就可以使用SSL。这个功能允许你在程序中为SSL设置需要保护的页面(比如登录页面),并且在开发过程中象在真实的web服务器里那样运行和测试这些页面。
  IIS 7.x功能集
  IIS Express就像你现在已经熟悉的ASP.NET开发服务其那样容易启动和使用。 但是因为IIS Express是基于与IIS
7x相同的代码,你可以用到完整Web服务器的功能集合。这也就意味着你可以像在真实的作业Web服务器上创建和运行你的程序。除了SSL,你还可以使用 IIS
7.x的URL重写模块、多媒体插件、动态内容压缩、高级日志功能、自定义安全策略和其他丰富多彩的模块。
  除了支持ASP.NET以外,IIS Express还支持传统的ASP和其他被IIS支持的文件类型&这也使得它成为整合多种技术的站点的理想平台。
  IIS Express使得开发、运行和测试Web程序更加容易。它支持ASP.NET的所有版本和所有应用程序类型(包括ASP.NET
Web窗体程序和ASP.NET MVC程序)。最好不过的是&你不需要改动任何代码来使用它。你将可以在所有已有的项目中选用它。
  针对VS2010发布SP1补丁程序,这个补丁程序将用IIS Express替换掉原来内置的ASP.NET开发服务器。后续版本的Visual
Studio都内置了IIS Express。
  ======================================华丽分割线====================================
  既然VS2013都内置了IIS Express8.0,为什么又会出现启动失败的情况呢
  在IIS Express的下载页面似乎找到了答案,
  看到WebMatrix没,以前用过它的2.0版,它的任务栏图标和IISExpress是相同的呢,莫非要安装它。
  安装WebMatrix3.0后,打开项目,F5启动,问题解决!
  VS2012 无法启动IIS Express Web服务器的解决方案
  打开VS2012解决方案资源管理器 -& 点选 Web 项目选择 -& 属性 -& Web -& 选择&使用 Visual
Studio 开发服务器& -& 选中&自动分配端口& 。
  再次运行Web项目,大功告成!
你也许会对这些内容感兴趣>>
svchost (800) 数据库引擎已停止。 它只是简单的告诉你,数据库已经停了,可能是重启电脑造成的 photoshop教程…
- >1211人点击
- >81人点击
- >80人点击
- >76人点击
- >68人点击
- >66人点击
- >66人点击
- >65人点击
- >65人点击
- >64人点击
大家关注的标签

我要回帖

更多关于 vs2012创建webservice 的文章

 

随机推荐