|
|
置顶随笔
摘要: usingSystem;usingSystem.Collections;usingSystem.Data;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.HtmlControls;usingCemic.Dal;namespaceCemic.Bll{/**////<summary>///自动生成SQL语句的摘要说明。///</su... 阅读全文
2007年11月1日
开发环境为VS2005,OS 为Windows 2003,系统登录后在跳转到另一页面时会报此错误:
在 System.Threading.ThreadAbortException 中第一次偶然出现的“mscorlib.dll”类型的异常
“System.Threading.ThreadAbortException”类型的异常在 mscorlib.dll 中发生,但未在用户代码中进行处理
但不影响程序的正常运行。于是在网上查了查,发现相关资料不多。后来找到微软的官方解释,搞定。
--------------------------------------------------------------------------------------------------------------
症状
如果使用 Response.End、Response.Redirect 或 Server.Transfer 方法,则出现 ThreadAbortException 异常。 可使用 try-catch 语句捕捉此异常。
原因
Response.End 方法停止页的执行,并将该执行变换到应用程序的事件管线中的 Application_EndRequest 事件。 Response.End 后面的代码行将不执行。
此问题出现在 Response.Redirect 和 Server.Transfer 方法中,这是由于这两种方法都在内部调用 Response.End。
状态
这种现象是设计使然。
2007年5月22日
晚上闲来无聊,就自己动手写了个IOC,下面是相关代码下载,望大虾们批批 下载代码
2006年8月23日
2006年6月1日
摘要: usingSystem;usingSystem.Collections;usingSystem.Data;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.HtmlControls;usingCemic.Dal;namespaceCemic.Bll{/**////<summary>///自动生成SQL语句的摘要说明。///</su... 阅读全文
2006年5月15日
第一讲:最基本的读取
|
|
loadVariables() loadVariablesNum()
|
|
用法
loadVariables ("url" , target [, variables]) loadVariablesNum ("url" ,level [, variables])
区别: ·如果你想让FLASH读取到的数据放到某个影片剪辑中,那你就用第一个loadVariables ·如果你想让FLASH读取到的数据放到某个特定的级别,那你就用第二个loadVariablesNum
举例说明:
1、我们先准备一个 TXT记事本。在里面写以下内容: t_name=tommyheng&t_age=25岁&t_from=辽宁沈阳 解释:上面的文本内容我定义了3个变量 t_name t_age t_from 并且分别让给他们赋予了一个值。
2、我们新建一个FLASH文件,在第一个桢写上:
loadVariables("tommyheng.txt", "_root");
或者(选一个就行,别2个都写哦)
loadVariablesNum("tommyheng.txt", 0);
解释:用2种方法把tommyheng.txt载入到FLASH中。 第一种方法:把文本中的数据载入到FLASH的主场景中(_root 其实就是FLASH的主场景,当然,如果你想把数据放到FLASH中的某个MC中,你可以把它修改成,_root.mc意思就是载入到主场景中的一个叫做MC的影片剪辑) 第二种方法:把文本中的数据载入到FLASH的场景中的第0个级别 然后,在第5桢处插入一个关键空白桢,里面写
trace(t_name); trace(t_age); trace(t_from); stop();
解释:trace()是FLASH里是一个信息输出函数,在制作FLASH的时候,开发者可以通过这个函数,把程序返回的结果(变量)直接输出来观察运行的是否正确等等,但是它只能在FLASH里使用(也就是说按CTRL+ENTER的时候)你才能看到它的功能。 把FLASH和tommyheng文本保存到同一个文件夹中。按CTRL+ENTER直接测试影片 你会发现会输出一下结果: tommyheng 25 辽宁沈阳 如果你想把这些结果显示到文本框中,而不是输出来看,那可以又2种方式: 第一种方式:直接分配方式
就是直接做3个动态文本框,分别点选每个文本框,在其属性中找到变量,并分别填写: t_name t_age t_from
第二中方式:自定分配方式
同样建立3个动态文本框,但是不同的是,分别点选每个文本框,在其实例名称处分别填写随便的3个名字 比如:a1 a2 a3 然后在这桢上写如下程序:
a1.text = t_name a2.text = t_age a3.text = t_from
这样FLASH就完成了读取外部数据的功能!!! 特别提示: 某些朋友根据我的文件进行测试或者学习,会出现一个问题,那就是英文和数字显示很正常,但是中文就显示不正常变正了乱码(这个是编码问题,很高难的哦)。不要怕,我们有办法对付它,在第一桢处写上 System.useCodepage=true; 这句话的意思就是让FLASH认识中文(嘿嘿),按照理论上讲就是让FLASH使用运行播放器的操作系统的传统代码页来解释外部文本文件。
2006年5月8日
2006年5月4日
问:不懂得什么是委托 答:就是一个类调用另一个类的方法成员 问:为什么要用委托呢?直接调用不就好了? 答:当一个方法是多个类的公共方法的时候,往往就可以考虑使用委托 问:噢,有什么好处吗?统一到一个地方?然后修改方便? 答:形式统一,实现自便,比如事件源,他只知道当事件发生后要处理,但他不知道要如何处理,也不知道要谁来处理,这时就使用委托,相当于我要告你诽谤,但我不知道司法程序,这件事我就委托给律师帮我实现 问:那不是调用律师类的方法吗? 答:对呀,就是一个类调用另一个类的实现方法 问:然后可能有很多人要找律师? 答:不能这么理解,应该是我可以随便找个律师帮我处理,是一对多,而不是多对一,一对多是指设计期,而一对一的实现过程是在运行期 问:那么我要处理的这个方法就是 delegate? 答:对 问:它有什么好处? 答:它把调用和实现分离开来,简单地说,就是我准备好所有的相关材料,到时任何一个律师都可以按指定材料进行相关处理,而不需要依赖于某一个律师,再深一点说,就是降低类间的耦合度
2006年4月29日
在配置数库访问会常出现下面的异常
安全性异常 说明: 应用程序试图执行安全策略不允许的操作。要授予此应用程序所需的权限,请与系统管理员联系,或在配置文件中更改该应用程序的信任级别。
异常详细信息: System.Security.SecurityException: 不允许所请求的注册表访问权。
堆栈跟踪:
[SecurityException: 不允许所请求的注册表访问权。] Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable) +473 System.Diagnostics.EventLog.CreateEventSource(String source, String logName, String machineName, Boolean useMutex) +443 System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type, Int32 eventID, Int16 category, Byte[] rawData) +347 System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type, Int32 eventID, Int16 category) +21 ........
Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.PerformanceCounterInstances..ctor(String categoryName, String counterName, Boolean createNewInstance) Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent.AddPerformanceCounter(String category, String[] counterNames, Boolean createNewInstance) Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent.Initialize(String counterCategory, String[] counterNames, Boolean createNewInstance, String eventLogSource, EventLogIdentifier[] eventIds)
解决方法打上下面专门来解决这个问题补丁。 http://www.cnblogs.com/Files/allanhboy/EnterpriseLibraryRegKeys114322.zip
2006年4月19日
无法加载 DLL (oci.dll)。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.DllNotFoundException: 无法加载 DLL (oci.dll)。
在本地测试一切没有问题,上传到服务器就出现上面的问题了
问题解决,是权限不够
2006年4月18日
string str_namespace = ConfigurationSettings.AppSettings["NameSpace"]; string str_classname = "Cemic.Member.Dal."+ConfigurationSettings.AppSettings["UserClassName"]; return (IUserAction)Assembly.Load(str_namespace).CreateInstance(str_classname); 出现下面的异常
可我明明有这么一个字空间和类的啊,高手帮忙解决 程序集加载跟踪: 下列信息有助于确定程序集“Cemic.Member.Dal”无法加载的原因。
=== Pre-bind state information ===
LOG: DisplayName = Cemic.Member.Dal
(Partial)
LOG: Appbase = file:///E:/wwwroot/Member
LOG: Initial PrivatePath = bin
Calling assembly : DalFactory, Version=1.0.2300.30572, Culture=neutral, PublicKeyToken=null.
===
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Post-policy reference: Cemic.Member.Dal
LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/member/5a2ca517/2e60cfec/Cemic.Member.Dal.DLL.
LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/member/5a2ca517/2e60cfec/Cemic.Member.Dal/Cemic.Member.Dal.DLL.
LOG: Attempting download of new URL file:///E:/wwwroot/Member/bin/Cemic.Member.Dal.DLL.
LOG: Attempting download of new URL file:///E:/wwwroot/Member/bin/Cemic.Member.Dal/Cemic.Member.Dal.DLL.
LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/member/5a2ca517/2e60cfec/Cemic.Member.Dal.EXE.
LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/member/5a2ca517/2e60cfec/Cemic.Member.Dal/Cemic.Member.Dal.EXE.
LOG: Attempting download of new URL file:///E:/wwwroot/Member/bin/Cemic.Member.Dal.EXE.
LOG: Attempting download of new URL file:///E:/wwwroot/Member/bin/Cemic.Member.Dal/Cemic.Member.Dal.EXE.
|
堆栈跟踪:
[FileNotFoundException: 找不到文件或程序集名称“Cemic.Member.Dal”,或找不到它的一个依赖项。]
System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Boolean isStringized, Evidence assemblySecurity, Boolean throwOnFileNotFound, Assembly locationHint, StackCrawlMark& stackMark) +0
System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Boolean stringized, Evidence assemblySecurity, StackCrawlMark& stackMark) +307
System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark) +68
System.Reflection.Assembly.Load(String assemblyString) +19
Cemic.Member.DalFactory.UserFactory.Create() in e:\wwwroot\dalfactory\dalfactory.cs:26
Cemic.Member.Bll.UserBll.Signin(String str_username, String str_password) in E:\wwwroot\Bll\UserBll.cs:41
Cemic.Member.Web.Signin.Button1_Click(Object sender, EventArgs e) in e:\wwwroot\member\signin.aspx.cs:60
System.Web.UI.WebControls.Button.OnClick(EventArgs e)
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
System.Web.UI.Page.ProcessRequestMain()
|
|