当前位置:职场发展 > vs2010实现服务器_asp.net网站服务器,vs2010制作简单的asp.net网站

vs2010实现服务器_asp.net网站服务器,vs2010制作简单的asp.net网站

  • 发布:2023-09-28 15:38

最近在做一个Socket的服务端程序,调试成功后,就打算将其做成Windows服务,第一次操作,于是先到网上搜索一些资料,最后完成服务,特记录如下。

第一步,需要创建一个Windows应用程序,(我创建的是控制台程序,如果WinForm也一样)

?

?

接下来在项目中添加一个Windows服务类

?

然后双击“MainService.cs”,在上面点右键“打开代码”

?

这里面写服务的具体实现,以下是我写的示例代码

partial class MainService : ServiceBase

{

?private CETCBackServer cetcBackServer;

? ? ? ? private IContainer components = null;

? ? ? ? private ILog log = LogManager.GetLogger("CETCService");

? ? ? ? public CETCService()

? ? ? ? {

? ? ? ? ? ? this.InitializeComponent();

? ? ? ? }

? ? ? ? protected override void Dispose(bool disposing)

? ? ? ? {

? ? ? ? ? ? if (disposing && (this.components != null))

? ? ? ? ? ? {

? ? ? ? ? ? ? ? this.components.Dispose();

? ? ? ? ? ? }

? ? ? ? ? ? base.Dispose(disposing);

? ? ? ? }

? ? ? ? private void InitializeComponent()

? ? ? ? {

? ? ? ? ? ? this.components = new Container();

? ? ? ? ? ? base.ServiceName = "Service1";

? ? ? ? }

? ? ? ? protected override void OnStart(string[] args)

? ? ? ? {

? ? ? ? ? ? this.cetcBackServer = new CETCBackServer();

? ? ? ? }

? ? ? ? protected override void OnStop()

? ? ? ? {

? ? ? ? ? ? this.cetcBackServer.Dispose();

? ? ? ? ? ? www.sychzs.cn("停止服务");

? ? ? ? }

}

第二步 右键刚才完成的服务类,点击视图设计器,添加安装程序。

项目中添加了ProjectInstaller.cs文件,该文件中视图自动会添加俩个组件

serviceProcessInstaller1

serviceInstaller1

可以看见项目中多了如下文件和组件,serviceProcessInstaller1、serviceInstaller1是自动生成的

第三步?

设置组件serviceInstaller1的主要属性,ServiceName: 服务系统标识,在cmd命令中执行sr start/stop/query等等命令时候使用,用来唯一标识一个Window服务,这个千万要注意,别弄混了!

设置ServiceName的值, 该值表示在系统服务中的名称

设置StartType, 如果为Manual则手动启动,默认停止,如果为Automatic为自动启动

设置Description,添加服务描述

?

设置组件serviceProcessInstaller1的主要属性,Accout:账户类型,LocalSystem本地系统服务;

然后重新生成项目,生成成功!

到这里,我们只是完成了第一部分,接下来是对服务的安装、卸载和调试了,这里我折腾了不少时间。

---------------------------------------------------------------------分割线----------------------------------------------------------------------------

第一步 安装服务?一开始,程序生成成功,我直接启动EXE,提示我“无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installutil.exe),然后用ServerExplorer、Windows服务器管理工具或NET START命令启动它”!

然后

1、打开所有程序中的VS,以管理员身份打开VS命令提示符!

2、这一步切记!对照项目的运行环境,要确定FrameWork的版本,我这里用的是2.0版本。于是将C:\Windows\www.sychzs.cn\Framework\v2.0.50727下的InstallUtil.exe复制到要安装的目录下,我放在程序的bin\Debug目录下。

3、cd 到Debug目录下,执行命令

InstallUtil.exe Server.exe

如上图所示,表示服务安装完成!

第二步 启动服务??net start Servive1(服务名称)?跟.exe的名称可能一样,也可能不一样。如果不清楚,就到已安装的服务里面找到你的服务,右键属性里面看服务名称,也可以右键计算机,在管理-》服务,开启服务。

第三步 停止服务?net stop ServiceName?

第四步 卸载服务?InstallUtil.exe /u? Path/Server.exe

至于调试的话,Windows服务无法直接进行调试,只能先安装启动服务,然后将该服务附加到进程,就可以调试了。安装好服务后,就可以在win7服务管理里面,管理刚刚启动的服务了。

参考网址1、服务 在初始化安装时发生异常:System.IO.FileNotFoundException: 未能加载文件或****** - 覆雨翻云 - 博客园 ?http://www.sychzs.cn/railgunman/p/4590347.html

2、VS 2010一步步开发windows服务(windows service) - 欢醉 - 博客园 ?http://www.sychzs.cn/zhangs1986/p/3502026.html

【vs2010基于MFC对话框】实现客户–服务器模式下网络程序的Shocket双向通信 编译环境采用Visual Studio 2010,此工程为学校课堂练习,要求实现基于MFC对话框的两端通信。两端分别为客户端和服务器端。下面是实现客户端的工程过程: 1.建立工程 建立一个新的基于MFC对话框的项目,项目名称为ChatClient。然后在高级功能中勾上wIndows套接字项,点击完成创立工程,如图: 2.添加类 创建好工程后,首先要创建类名为CClientSocket的客户Socket对象,给工程添加MFC类,基类为CAsyncSocket,类名为CClientSocket:

点击类视图可以查看是否添加成功,出现CClientSocket类为成功。 3.添加头文件声明 要使客户端程序能够创建和控制本地的Socket,在客户端工程界面控制模块的头文件ChatClientDlg.h中添加如下两行代码:

#include "ClientSocket.h" //使主界面程序能够访问Socket类的代码文件

CClientSocket m_ClientSocket;//为了后面与服务器通信而定义的Socket成员变量

在Socket源文件ClientSocket.cpp中添加头文件声明: #include "ChatClientDlg.h"

4.设计布局界面和关联变量 接下来是给客户端设计一个简洁的界面: 在界面上添加一个IP地址控件和列表框,文本框两个,四个按钮,同时修改好Caption。 下一步,为IP地址控件添加变量ServerIP,为上面的文本框控件添加value类别int型变量sPort,为下面的文本框控件添加value类别CString型变量sWords为列表框关联变量m_ListWords。(可点击类向导查看添加的变量) 5.添加客户端源码 接下来为工程添加灵魂,给每个按钮加入响应代码。 连接服务器按钮代码:

//连接服务器

BYTE nFild[4];

CString sIP;

UpdateData();

ServerIP.GetAddress(nFild[0],nFild[1],nFild[2],nFild[3]);

sIP.Format("%d.%d.%d.%d",nFild[0],nFild[1],nFild[2],nFild[3]);

m_ClientSocket.Create(); //创建客户端Socket

m_ClientSocket.Connect(sIP,sPort); //发起连接请求

断开按钮代码:

//断开与服务器的连接

m_ClientSocket.Close(); //关闭客户端Socket

m_ListWords.AddString("从服务器断开");

发送消息按钮代码:

//向服务器发信息

UpdateData();

m_ClientSocket.Send(m_sWords,m_sWords.GetLength()); //发信息

m_ListWords.AddString("发送:" + m_sWords);

m_ListWords.SetTopIndex(m_ListWords.GetCount() - 1);

6.重写类函数 在类视图中选中CClientSocket,在属性窗口中单击“重写”按钮,就可以为该Socket类编写被动响应网络事件的函数 选择OnConnect()函数,为其添加代码,系统将该函数的代码自动置于ClientSocket.cpp文件中,OnConnect()代码如下:

//确认客户端是否成功连接到服务器

if(nErrorCode)

{

AfxMessageBox("连接失败,请您重试!");

return;

}

((CChatClientDlg*)(AfxGetApp()->m_pMainWnd))->m_ListWords.AddString("连接服务器成功!");

((CChatClientDlg*)(AfxGetApp()->m_pMainWnd))->m_ListWords.SetTopIndex(

((CChatClientDlg*)(AfxGetApp()->m_pMainWnd))->m_ListWords.GetCount()- 1);

到此,两端中的客户端已完成,再建立一个服务器端工程,即可实现两端通信连接。

直入主题:

打开visual studio 2010程序开发软件

单击菜单栏的文件,依次选新建->网站->www.sychzs.cn空网站,这里我们选择空网站,利于今后DIY自己的网站,最好什么从头来,便于对各类架构的理解(若是选择www.sychzs.cn网站也行,只是里面已经集成了一些东西)

这里我们默认解决方案的名称为WebSite1,单击确定后进入网站的代码页面,在右边的解决方案资源管理器里只有一个web.config文件,这个文件用于对网站进行全局化的设置

web.config其实是一个xml文档,里面有很多配置节点配置各项属性。比如有数据库连接字符串的节点设置数据库连接比如IP地址、端口、登陆用户名和密码等相关信息,在示图里只表明了所用的环境是netframework 4.0

右键单击解决方案,左键单击选择添加新项弹出如下窗口。这里有很多网页元素,这里我们介绍用的最多的web窗体,选择好web窗体后单击添加

在右边的解决方案资源管理器里就出现了Default.aspx以及附属他的cs源码Default.aspx.cs,这里cs源码和网页分开便于设计和编程

单击左下角的拆分我们就看到了网页界面的代码和网页界面

单击左边的工具箱,找不到就单击菜单栏视图下的工具箱,打开如下界面

在工具栏里拖动一个button和一个textbox到中下方网页界面上

双击button控件,打开cs源码页(其实就是上面的Default.aspx.cs),为button 控件添加代码

单击菜单栏调试->执行,就出现网站的预览页面,单击按钮,textbox就会显示代码中的文字

最后一步就是发布网站了,单击菜单栏生成->发布网站,在目标位置里填写网站服务器的地址或者本地磁盘的地址,生成网站的所有文件就会上传到相应的位置,网站就可以运作了

十步教你利用vs2010制作简单的www.sychzs.cn网站,希望对大家的学习有所帮助。

相关文章

热门推荐