




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
我们经常要面对的是对开发模式的选择,比如C/S模式和b/s模式。现在,很多人都似乎比较喜欢选择B/S模式进行web的开发,这其中的原因是很多的。但其中一点很重要的原因,那就是因为B/S开发的话,部署非常之容易,因为这样很容易实现瘦客户端,客户端只需要使用浏览器就可以运行应用了。但B/S模式下开发的WEB应用,也有其不足之处,主要是由于功能实现起来,是没办法和传统的C/S模式下的winform应用相比的,很多winform下要实现的优秀功能,在Web上都很难实现,或者说有的根本没办法实现。但传统的winform,在部署上也有自己的困难之处,如果客户端多的话,每次部署和版本升级都十分麻烦。在.net 2.0里,微软新推出了一项叫clickonce(一次点击)的应用程序部署技术,可以很好的解决上面的这个矛盾。在VS2005 中已经整合了clickonce的技术,使到用户可以很方便地部署winform开发的程序,很容易地管理其升级部署。clickonce能带给我们什么首先,通过clickonce技术,我们可以实现如下的部署方式:1) 在设计完winform程序后,可以选择将程序发布到如下的存贮位置:文件系统,本地的Web服务器,FTP站点,远程Web站点。2) 当应用程序部署到相应的位置后,用户可以通过浏览器浏览一个叫publish.htm的文件,点击下载的链接,将应用程序下载到本机安装。这个publish.htm是部署应用程序的一个入口文件。3) 当用户安装完程序后,会自动产生快捷方式到桌面,并且在控制面版的增加删除中会找到该程序。4) 当用户启动程序时,系统可以首先去检查服务端是否有新的程序版本,如果有的话,则会自动连接服务端,查看是否有新的版本,如果有新的版本的话,则自动下载新的版本到本机并安装,这对于C/S软件的升级维护来说是个“福音”。ClickOnce 应用程序具有如下优势: 1)更新是事务处理(即,要么完全执行,要么根本不执行)。2)该应用程序不但可以脱机工作,而且还可以对其进行某种程度的控制;有一些 API 可使应用程序发现它是联机或脱机;它还可以控制其自身的更新过程;3)它可以与 Visual Studio .NET 进行良好的集成,包括能够生成合适的额外文件和工具,帮助您找到运行应用程序所需的安全权限。4)它具有一个可下载必需组件(甚至 .NET Framework 自身)的 Win32“bootstraper”可执行文件。5)可以按需要或以批处理方式下载应用程序文件;6)它可在 Start 菜单中添加快捷方式;一个简单的clickonce程序部署的例子声明:例子代码来自嘻哈呵嘿的C#版的端口扫描器(PortScanner)一文,在此感谢他允许我使用他的成果./扫描类classScannerstringm_host;intm_port;publicScanner(stringhost,intport)m_host=host;m_port=port;publicvoidScan()/我们直接使用比较高级的TcpClient类TcpClienttc=newTcpClient();/设置超时时间tc.SendTimeout=tc.ReceiveTimeout=2000;try/Console.Write(Checkingport:0,m_port);/尝试连接tc.Connect(m_host,m_port);if(tc.Connected)/如果连接上,证明此商品为开放状态Console.WriteLine(Port0isOpen,m_port.ToString().PadRight(6);Form1.openedPorts.Add(m_port);catch(System.Net.Sockets.SocketExceptione)/容错处理Console.WriteLine(e.Message.ToString();finallytc.Close();tc=null;Form1.scannedCount+;Form1.runningThreadCount-;publicpartialclassForm1:Form/已扫描端口数目internalstaticintscannedCount=0;/正在运行的线程数目internalstaticintrunningThreadCount=0;/打开的端口数目internalstaticListopenedPorts=newList();/起始扫描端口staticintstartPort=1;/结束端口号staticintendPort=500;/最大工作线程数staticintmaxThread=100;publicForm1()InitializeComponent();privatevoidbtnScan_Click(objectsender,EventArgse)/接收传入参数一作为要扫描的主机stringhost=this.txtHost.Text.Trim();/接收传入参数二作为端口扫描范围,如-4000stringportRange=this.txtStart.Text+-+this.txtEnd.Text;trystartPort=int.Parse(portRange.Split(-)0.Trim();endPort=int.Parse(portRange.Split(-)1.Trim();catch(System.Exceptionex)MessageBox.Show(ex.Message.ToString();for(intport=startPort;port=maxThread);/空循环,直到所有端口扫描完毕while(scannedCount+1(endPort-startPort);this.lbInfo.Text=扫描结束!;/输出结果Stringresult=;result+=总共有+openedPorts.Count.ToString()+个端口打开着!n;foreach(intportinopenedPorts)result+=端口+port.ToString().PadLeft(6)+n;if(MessageBox.Show(result,扫描信息,MessageBoxButtons.OK,MessageBoxIcon.Information)=DialogResult.OK)this.lbInfo.Text=;当运行上面的程序,如下图所示:接下来,我们可以对其进行发布了。鼠标右击PortScanDemo工程,选其中的属性菜单,如下图所示:上图是项目的属性页,其中有许多选项。主要关注下其中的发布选项卡的配置。在最上面的发布位置选项框中,允许你指定将项目发布的位置。可以点旁边的按钮,进一步浏览确定发布的位置,如下图:这里,我们可以设定项目要发布的位置,比如文件系统,本地服务器,FTP站点,远程站点等。接着,我们在安装模式和设置选项组中,可以点选系统必备按钮,这里可以设置要运行该应用程序时,需要额外安装的库文件或其他必须的文件,如下图所示。默认必须安装的是.net framework 2.0。同时,可以选择安装模式和设置选项卡中的“更新”选项,这个选项卡如下图所示:其中,默认是采用启动应用程序时检查更新的选项的。当然,你也可以选择,是在应用程序连接上网时自动检查是否有更新的版本,或者是选择当应用程序启动后,以后台进程的方式,自动检查是否有新的版本。最后,选择选项选项卡,如下图,填入一些关于应用程序的信息。最后,我们已经设置完毕,可以开始进行部署了。我们使用其中的发布向导进行发布。首先选定要发布的位置,如下图所示:点下一步后,出现如下图,这里,可以选择你的应用是在离线或是可以同时运行在离线和在线状下的。当应用是可以在在线或者离线状态下都可以运行时,发布成功后,应用程序可以在桌面出现快捷方式。当应用程序只能在在线状态下运行时,应用程序只能通过发布页面通过浏览器执行。最后再选“下一步”后,就成功完成了发布了,系统并自动打开IE浏览器,转到publish的页面。我们先来看下,在该应用程序发布到的目的目录下,我们会发现有如下图的文件。现在我们可以看到我们已经成功将PortScanDemo应用程序发布到当前IIS的根目录下了(cinetpubwwwrootPortScanDemo),版本是。而通过浏览器,可以看到如下的安装部署窗口:此时,按“安装”,就可以进行安装了,IE会打开如下窗口以提示你,目前正在下载一个应用程序安装。此外,你也可以在“开始”菜单中发现,新添加了你刚安装的程序的快捷方式,而且在控制面板中“添加和删除程序”中也可以轻
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《高质量印刷品数字化印刷技术改造工程合同》
- 驱动未来:新一代发动机
- 减肥基础知识培训心得
- 净水工电器设备知识培训课件
- 新入员工消防知识培训课件
- 智能药物剂量计算工具创新创业项目商业计划书
- 农林牧渔业创业指导服务创新创业项目商业计划书
- 叶子草花创新创业项目商业计划书
- 新人入职培训课件模板
- 助同学和爱集体的课件
- T-CRHA 028-2023 成人住院患者静脉血栓栓塞症风险评估技术
- 网络安全管理规范vfd样本
- 新《安全生产法》全面解读“三管三必须”
- 部编小学语文四年级上册第一单元大单元教学设计
- 《关爱女性健康》课件
- 关于女性生殖健康知识讲座
- 香料改扩建项目环境影响报告书
- 银行系统的廉洁文化建设
- 山西人文知识竞赛考试题库及答案(500题)
- 医疗器械操作规程
- 小学科学仪器室建设标准(二类)
评论
0/150
提交评论