摘要:先看效果在文本框中输入一个数字,点击开始累加按钮,程序计算从1开始累计到该数字的结果。因为该累加过程比较耗时,如果直接在UI线程中进行,那么当前窗口将出现假死。为了有更好的用户体验,程序启动一个新的线程来单独执行该计算,然后每隔200毫秒读取一次累加结果,并把结果显示到文本框下方的label控件中。同时,程序支持取消操作,点击取消累计按钮,程序将取消累加操作,并把当前累加值显示到label中。为了方便后面的描述,我把UI线程称作主线程,把执行累加计算的线程称作工作者线程。该过程有两个关键点:1:如何在工作者线程中访问主线程创建的控件;2:如何取消比较耗时的计算;为了便于在工作者线程中调用累加过
阅读全文
摘要:项目中包含报表文件,本地运行没问题,发布后出现如题的错误。解决办法:1.确保报表文件(后缀.rdlf)包含在发布文件中。vs2012在发布时默认不会包含报表文件,所以你需要如下操作,右键报表文件--》属性--》将生成操作改成“内容”。这样在发布时就能包含了,如下图:2.拷贝三个dll:Microsoft.ReportViewer.Common.dllMicrosoft.ReportViewer.WebForms.dllMicrosoft.ReportViewer.ProcessingObjectModel.dll其中,第一个和第二个可以在项目中直接添加引用,引用后右键属性,将“复制到本地”设置
阅读全文
摘要:1.首先定位csc.exe文件路径:一般来说是C:\Windows\Microsoft.NET\Framework\v4.0.30319(v4.0.30319是版本号,具体版本号取决你实际安装的版本);2.开始-运行-键入cmd,把上面的路径粘贴过去,并在最后加上“\csc”,效果图如下:此时我们已经可以键入“ -?”来验证能否正确运行,如果成功会把参数提示列表显示出来,失败则需重新定位csc.exe文件路径。如下图:3.运行csc.exe 需要输入必要的参数,具体参数大家可以参考其它资料,这里仅仅说明几个本例中需要的参数/target:library 可以简写为 /t:library 生成.
阅读全文
摘要:1.读取域账户信息:string username = Request.ServerVariables["LOGON_USER"];
阅读全文
摘要:首先请确保GetType方法中的字符串所代表的程序集已经被引用,除非调用类和被调用类都在一个程序集里。然后记得在字符串中除了包括类型的完整限定名之外,还得包括程序集名称(比较安全的方式),如string typename = "CAI.Domain.UIA.FormLogin";AbstractLogin login = (AbstractLogin)System.Activator.Create...
阅读全文
摘要:干了这么多年编程,发现今天被一个数据库连接字符串给整蒙了,惭愧,知耻而后勇!加油吧 <add name="SqlConnectionUIA" connectionString="data source=192.168.0.20;Integrated Security=SSPI; Initial Catalog=web2.0; UID=sa;Password=sa" providerName="S...
阅读全文
摘要:思路:因为AD本身就是一棵树,而且.Net Framework中提供了对AD的操作对象(DirectoryEntry).该对象包含children和parent属性.所以利用这些属性使用递归算法可以批量生成Insert语句.获得这些SQL语句后,你就可以按照你想要的方式来执行了. 假设你的部门表有三个字段:DeptID,DeptName,ParentDeptID.根据一般情况,DeptID分类两种类型:整型和GUID类型.DeptName为字符型,ParentDeptID跟DeptID一致. 先说DeptID为GUID类型: 这种情况比较简单,因为window os 中的AD存储时,默认使用.
阅读全文