How to use Worker Service in Windows

When we try to create a Worker Service project in Windows, do not forget to change depandency to Microsoft.Extensions.Hosting.WindowsServices This platform is setting to package IHosting by default. We need to change the refering package to WindowsServices, then add an new implement in Programs.cs DO NOT FORGET ADD UseWindowsService() to support framework in windows system.

SC command for Windows Services

一、直接使用cmd来进行服务的一些操作 1、安装服务 其中:test3为创建的服务名,binPath后面是运行exe文件的所在路径 2、配置服务 有以下集中方式: sc config 服务名 start= AUTO    (自动) sc config 服务名 start= DEMAND  (手动) sc config 服务名 start= DISABLED(禁用) 例如下面的命令,在WINDOWS系统中开机便会自动启动: 3、开启服务 4、关闭服务 5、删除服务 二、为方便使用,可编辑为bat批处理文件 (新建一个txt文件,自己命名,把后缀改为.bat文件) 1、创建、配置、开启服务 2、关闭服务 3、删除服务

C#获取当前路径的7种方法

C#获取当前路径的方法如下: 1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName -获取模块的完整路径。 2. System.Environment.CurrentDirectory -获取和设置当前目录(该进程从中启动的目录)的完全限定目录。 3. System.IO.Directory.GetCurrentDirectory() -获取应用程序的当前工作目录。这个不一定是程序从中启动的目录啊,有可能程序放在C:\www里,这个函数有可能返回C:\Documents and Settings\ZYB\,或者C:\ProgramFiles\Adobe\,有时不一定返回什么东东,我也搞不懂了。 4. System.AppDomain.CurrentDomain.BaseDirectory -获取程序的基目录。 5. System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase -获取和设置包括该应用程序的目录的名称。 6. System.Windows.Forms.Application.StartupPath -获取启动了应用程序的可执行文件的路径。效果和2、5一样。只是5返回的字符串后面多了一个”\”而已 7. System.Windows.Forms.Application.ExecutablePath -获取启动了应用程序的可执行文件的路径及文件名,效果和1一样。 对于Windows程序和Web 应用程序来说,他们运行的路径是不一样的,所以关键是判断当前运行的程序是哪种程序.于是我们可以使用如下的代码 string path = “”;   if(System.Environment.CurrentDirectory ==AppDomain.CurrentDomain.BaseDirectory) //Windows应用程序则相等   … {   path =AppDomain.CurrentDomain.BaseDirectory;   }   else  … {   path =AppDomain.CurrentDomain.BaseDirectory + “Bin\”;   } 这样如果我们写了一个类库,类库中用到了Assembly.LoadFrom,由于是通用类库,所以可能用到Windows程序中也可能用到Web中,那么用上面的代码就很方便了. 1、Server.MapPath 2、System.Windows.Forms.StartupPath 3、Type.Assembly.Location C#获取当前路径方法2可以应用于控制台应用程序,WinForm应用程序,Windows服务,方法1可以应用于Web应用程序,方法3都可以应用。但方法3是加载应用程序的路径。如果是Web应用程序,取得的路径是:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NETFiles目录。所以Web项目还是使用Server.MapPath吧。否则建议使用方法2。如果自己新建类库。可以加入对System.Windows.Forms.StartupPath的引用后使用。

xsd.exe tool in Vistual Studio which can generate .xsd files from XML, and can transfer to code instance

Script Style: Read a XML format file into xsd tool. It may generate multiple files to discribe the object. Load XSD files to generate a code instance. Must list out all XML files when creating. ‘/c’ stand for ‘/classes’; We can use XSD tool to generate .xsd files from .dll library or .exe PS: Some …

when Android TextView content is too long

在Android TextView中有个内容过长加省略号的属性,即ellipsize,用法如下: 在xml中:android:ellipsize=”end”   省略号在结尾android:ellipsize=”start”   省略号在开头android:ellipsize=”middle” 省略号在中间android:ellipsize=”marquee” 跑马灯最好加一个TextView显示行数的约束,例如:android:singleline=”true”或者android:lines=”2″ 在java文件中:tv.setEllipsize(TextUtils.TruncateAt.valueOf(“END”));tv.setEllipsize(TextUtils.TruncateAt.valueOf(“START”));tv.setEllipsize(TextUtils.TruncateAt.valueOf(“MIDDLE”));tv.setEllipsize(TextUtils.TruncateAt.valueOf(“MARQUEE”));最好加一个TextView显示行数的约束,例如:tv.setSingleLine(true); 不仅对于textview有此属性,对于editext也有,不过它不支持marquee。 文字展开和收缩 其实,只是把样式清空而已。就能完全展开了。 有人可能要说,万一我想初始几行呢?放心,一样可以。上代码: 在xml文件中设置了如下属性: android:lines=”4″ //我初始化的4行 Activity那边代码一样,只改一点 设置setSingleLine的目的是为了取消lines==“4”这个固定值。