服务和安装

来源:互联网 发布:尚学堂java视频百度云 编辑:程序博客网 时间:2024/06/06 01:52
            所谓承载方式就是加载方式,一般有windows承载和iis承载两种,windows承载就是启动一个服务,这和启动oracel服务没有什么区别,我们就是通过自启动服务加载服务器程序,并且在这个服务里面引用到了我们业务逻辑的dll,所以其实就是自启动服务端来启动dll。所以我们必须先要使用.net的服务项目制作1个启动服务器带动dll的自加载服务。制作好服务以后,还必须为这个服务使用.net的安装程序制作软件为其做一个安装,把这个服务安装到计算机管理的安装里面去。所以最终我们就是要如何做一个服务和一个安装,其实都很简单。
       首先来讲讲如何制作一个服务
        新建-服务项目- 打开代码视图,可以看到已经被初始化很多代码,我们在我们想要实现的部分加入我们需要的代码,比如onstart或者onstop里面都可以加入启动和停止服务要做的业务,比如我们现在要在启动服务的时候读取一个配置文件,我们就可以在onstart下面加入
System.Runtime.Remoting.RemotingConfiguration.Configure(AppDomain.CurrentDomain.BaseDirectory + "RemoteServer1.exe.config");
        这样就可以在启动服务的时候读取RemoteServer1.exe.config的配置文件,但是我们必须要添加一个配置文件,至于这个配置文件做什么事,就应情况而定了。比如我们现在要读取一个信道和数据库的配置以及remoting服务器的相关信息,我们可以加入如下代码:
<configuration>
    <appSettings>
            <add key="strconn" value="server=(local);uid=sa;pwd=;database=UBISOFT" />
    </appSettings>
    <system.runtime.remoting>
        <application name="RemoteServer">
            <service>
                <wellknown type="RemoteObject.MyObject,RemoteObject" objectUri="RemoteObject.MyObject"
                    mode="SingleCall" />
            </service>
            <channels>
                <channel ref="tcp" port="9999"/>
            </channels>
        </application>
    </system.runtime.remoting>
</configuration>
           然后设置这个服务的启动模式和进程安装信息,我们就在设计页面右键-添加安装服务,就会产生一个程序安装的设计页面,里面自动有两个服务的控件,对其设置属性即可。
          先设置serviceProcessInstaller1的属性,将Account属性设置成LocalSystem,在设置RemoteServer1的属性,将name设置成你自定义的名字,这里我们设置成RemoteServer1,启动方式(StartType)设置成你喜欢的,如果我们是windows启动的时候自启动的话,直接将设置改成Automatic。
          这样的话一个服务就做好了,其实只是通过这个过程简单的介绍一下如何制作一个windows的服务,抛砖引玉,以后大家如果要做一个windows的服务就是异曲同工了。
           然后看看如何制作一个安装
           直接在你要制作安装的这个项目点击右键,这里我们就以这个服务做安装为例。
          点击解决方案右键-添加-新项目-安装项目。
          这时你的解决方案里面多了一个Setup1的安装工程,在上面点击右键-添加-项目输出-主输出。
          然后就会生成一个文件系统页面,在Setup1的安装工程,在上面点击右键-视图-自定义操作。产生自定义操作的页面,在自定义操作的根目录里面点击右键-添加自定义操作-应用程序文件夹,就可以看到你的项目,确定他,安装程序就做好了。
          在setup1目录下bin文件夹下,运行安装的exe,就可以把你刚才做的服务加载到windows的服务里面或者制作其他的安装程序也是如此。
         抛砖引玉,以后大家如果要做一个windows的安装也是异曲同工了。