三沣开发知识 购物 网址 游戏 小说 歌词 地图 快照 开发 股票 美女 新闻 笑话 | 汉字 软件 日历 阅读 下载 图书馆 编程 租车 短信 China
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
vbs/VBScript DOS/BAT hta htc python perl 游戏相关 VBA 远程脚本 ColdFusion ruby专题
autoit seraphzone PowerShell linux shell Lua Golang Erlang 其它教程 CSS/HTML/Xhtml
html5 CSS XML/XSLT Dreamweaver教程 经验交流 开发者乐园 Android开发资料
站长资讯 .NET新手 ASP.NET C# WinForm Silverlight WCF CLR WPF XNA VisualStudio ASP.NET-MVC .NET控件开发 EntityFramework WinRT-Metro Java C++ PHP Delphi Python Ruby C语言 Erlang Go Swift Scala R语言 Verilog 其它语言 架构设计 面向对象 设计模式 领域驱动 Html-Css JavaScript jQuery HTML5 SharePoint GIS技术 SAP OracleERP DynamicsCRM K2 BPM 信息安全 企业信息 Android开发 iOS开发 WindowsPhone WindowsMobile 其他手机 敏捷开发 项目管理 软件工程 SQLServer Oracle MySQL NoSQL 其它数据库 Windows7 WindowsServer Linux
  IT知识库 -> C# -> C#中级 -> 正文阅读
 

[C#]C#中级

C#中级 一、前言
      这周除了改写一些识别算法外,继续我的Socket服务编写。服务器端的Socket服务是以Windows Service的形式运行的。
     在我完成Windows Service编写后,启动服务时总是出现错误,这里我总结下如何安装、启动及排查故障。
二、正文
     先说说Windows Service的安装,这是最基础的。当你编写完Windows Service后,通常要执行一段脚本,脚本与Windows Service应用在同一目录下:

%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe UpdaterService.exe //UpdaterService为Service应用程序
Net Start SocketService //SocketService为Service名称
sc config SocketService start = auto
pause

      当脚本执行时出现服务启动失败(1053-服务没有及时响应启动或控制请求)时,说明你的应用有问题了。
      首先要检查下Windows Service应用的dll是否完整,有没有遗漏。
      然后如果是编译成功的,看下自己的Service代码是否运行在一个线程里:

using System;
using System.IO;
using System.ServiceProcess;
using System.Threading;
using System.Threading.Tasks;

namespace UpdaterService
{
    public partial class SocketService : ServiceBase
    {
        Thread threadforwork = null;
        public SocketService()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            if (threadforwork == null)
            {
                threadforwork = new Thread(p =>
                {
                    try
                    {
                        //Your Service 
                    }
                    catch (Exception ex)
                    {
                        //Log Here
                    }
                });
                threadforwork.IsBackground = true;
                threadforwork.Start();
            }      
        }

        protected override void OnStop()
        {
            if (threadforwork?.ThreadState == ThreadState.Running)
            {
                threadforwork.Abort();
            }
        }
    }
}

         
         顺利安装完Windows Service后如果需要卸载则,执行另一脚本,同样卸载脚本与Windows Service应用也在同一目录下:

net stop SocketService
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u UpdaterService.exe
pause

       
       如果你想删除这个Windows Service应用所在目录时,正常情况下是可以完全删除的。
       但是有时候却不能完全删除,提示你当前程序被占用,无法删除。这种情况一般发生在安装服务成功,启动服务失败的时候,你去卸载就不能完全卸载干净。
       你需要运行命令行去删除干净:

sc queryex ServiceName
//这时会显示服务的PID
taskkill /PID ServicePID /f

       当命令行显示已成功删除PID之后,你就可以删除应用所在目录了。
三、结语
      这周科目二考试居然挂了,平时练得各种顺利,进考场有点懵,居然在倒车入库就屁股顶线两次,真是神奇!奇怪的是,挂了之后心情却异常的好,感觉整个人都突然好了。前几周睡眠不太好,总失眠。挂了之后居然每天都睡的很香,在公司吃饭胃口也好了很多,可能这是命中注定的事吧。在线升级程序也快搞完了,可以做压力测试了。下次定能在神明的保佑下考过科目二!阿门,阿弥陀佛,阿拉胡阿克巴!
  C# 最新文章
字符串阵列分别输出元素的索引,原值和长度
格式化你的字符串
C#宣告一个变量
C#中级
拆分一个字符串并把每个字符单独输出
通过手机号定位归属地
[CLR via C#]21. 自动内存管理(垃圾回收机制
C# i=0;i=i++,i的值是多少?
浅解多线程(二)之和尚们的那些事儿
C#中Dictionary的用法
上一篇文章      下一篇文章      查看所有文章
加:2017-12-09 23:26:19  更:2017-12-09 23:26:30 
 
技术频道: 站长资讯 .NET新手区 ASP.NET C# WinForm Silverlight WCF CLR WPF XNA Visual Studio ASP.NET MVC .NET控件开发 Entity Framework WinRT/Metro Java C++ PHP Delphi Python Ruby C语言 Erlang Go Swift Scala R语言 Verilog 其它语言 架构设计 面向对象 设计模式 领域驱动设计 Html/Css JavaScript jQuery HTML5 SharePoint GIS技术 SAP Oracle ERP Dynamics CRM K2 BPM 信息安全 企业信息化其他 Android开发 iOS开发 Windows Phone Windows Mobile 其他手机开发 敏捷开发 项目与团队管理 软件工程其他 SQL Server Oracle MySQL NoSQL 其它数据库 Windows 7 Windows Server Linux
脚本语言: vbs/VBScript DOS/BAT hta htc python perl 游戏相关 VBA 远程脚本 ColdFusion ruby专题 autoit seraphzone PowerShell linux shell Lua Golang Erlang 其它教程
网站开发: CSS/HTML/Xhtml html5 CSS XML/XSLT Dreamweaver教程 经验交流 开发者乐园 Android开发资料
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture 股票 租车
生肖星座 三丰软件 视频 开发 短信 中国文化 网文精选 搜图网 美图 阅读网 多播 租车 短信 看图 日历 万年历 2018年6日历
2018-6-22 11:16:45
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT知识库