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文件里面的内容是否合适,是否匹配,是否重复,能不能用?求大神赐教!