DLL是动态链接库,当我们执行某一个程序的时候,相应的DLL文件就会被调用。BS这一块,我们用VS2012写程序,发布的时候主要程序只用把dll文件以及其用到的相关图片等打包发布就可以了,很方便,如果修改某个程序后不用重新发布。
用DLL文件的好处:使用DLL程序可以实现模块化,灵活性比较好,程序加载速度更快。
上传文件是系统中必不可少的一项内容。在我们的系统中用到了上传DLL文件。
实例:
界面
代码:
//判断有无文件 if (FileUpload.HasFile) { //获取文件的扩展名 string filetype = System.IO.Path.GetExtension(FileUpload.FileName).ToString(); //判断文件的类型是dll文件 if (filetype == ".dll") { DLLName = FileUpload.FileName; AdmQuestionTypeBLL Questiontype = new AdmQuestionTypeBLL(); //调用D层方法,判断dll名称是否重复 bool bolDllname = Questiontype.Querydllname(DLLName); if (bolDllname == true) { ClientScript.RegisterStartupScript(this.GetType(), "", "alert('您已经上传过此类型文件!');", true); } else { //指定上传文件在服务器上的保存路径 string savePath = Server.MapPath("~/upload"); //检查服务器上是否存在这个物理路径,如果不存在则创建 if (!System.IO.Directory.Exists(savePath)) { System.IO.Directory.CreateDirectory(savePath); } //设置路径 savePath = savePath + "\" + FileUpload.FileName; FileUpload.SaveAs(savePath); } } //格式不正确则提示选择dll文件 else { MessageBox.Show(this.Page, "请选择dll文件上传"); } } //如果不包含文件,则提示 else { MessageBox.Show(this.Page, "请选择要上传的文件"); }
用DLL把功能封装起来,导入,到时候直接调用就可以,而且不用重新生成。部署安装DLL不要求重新建立程序与该DLL的链接。多个程序使用DLL,多个程序都会更新。
虽然是把文件传到系统的根目录下了,但是如何判断DLL文件里面的内容是否合适,是否匹配,是否重复,能不能用?求大神赐教!