做回自己

记录我的所想,所思,所悟,所做,和所感
posts - 24, comments - 25, trackbacks - 1, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

置顶随笔

     摘要: usingSystem;usingSystem.Collections;usingSystem.Data;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.HtmlControls;usingCemic.Dal;namespaceCemic.Bll{/**////<summary>///自动生成SQL语句的摘要说明。///</su... 阅读全文

posted @ 2006-06-01 10:11 做回自己 阅读(1306) | 评论 (4)编辑

2007年11月1日

开发环境为VS2005,OS 为Windows 2003,系统登录后在跳转到另一页面时会报此错误:

在 System.Threading.ThreadAbortException 中第一次偶然出现的“mscorlib.dll”类型的异常
“System.Threading.ThreadAbortException”类型的异常在 mscorlib.dll 中发生,但未在用户代码中进行处理

但不影响程序的正常运行。于是在网上查了查,发现相关资料不多。后来找到微软的官方解释,搞定。
--------------------------------------------------------------------------------------------------------------

症状

如果使用 Response.EndResponse.Redirect Server.Transfer 方法,则出现 ThreadAbortException 异常。 可使用 try-catch 语句捕捉此异常。

原因

Response.End 方法停止页的执行,并将该执行变换到应用程序的事件管线中的 Application_EndRequest 事件。 Response.End 后面的代码行将不执行。



此问题出现在 Response.Redirect Server.Transfer 方法中,这是由于这两种方法都在内部调用 Response.End

解决方案

若要解决此问题,请使用下列方法之一:
  • 对于 Response.End,调用 ApplicationInstance.CompleteRequest 方法而不调用 Response.End,以便跳过 Application_EndRequest 事件的代码执行。
  • 对于 Response.Redirect,使用重载 Response.Redirect(String url, bool endResponse),对 endResponse 参数它传递 false以取消对 Response.End 的内部调用。例如:
      Response.Redirect ("nextpage.aspx", false);
    如果使用这种解决方法,Response.Redirect 后面的代码将得到执行。
  • 对于 Server.Transfer,请改用 Server.Execute 方法。

状态

这种现象是设计使然。

posted @ 2007-11-01 10:54 做回自己 阅读(374) | 评论 (0)编辑

2007年5月22日

      晚上闲来无聊,就自己动手写了个IOC,下面是相关代码下载,望大虾们批批
下载代码

posted @ 2007-05-22 23:22 做回自己 阅读(127) | 评论 (0)编辑

2006年8月23日

OleDbConnection conn = new OleDbConnection(CONNSTRING);
                OleDbCommand cmd 
= new OleDbCommand();
                PrepareCommand(cmd, conn, 
null, cmdType, cmdText, cmdParms);                
                OleDbDataReader dr 
= cmd.ExecuteReader(CommandBehavior.CloseConnection);
                cmd.Parameters.Clear();
上面是我程序的代码,出错在cmd.Parameters.Clear();去掉就没有错误了。想不通这是什么原因

posted @ 2006-08-23 09:47 做回自己 阅读(427) | 评论 (1)编辑

2006年6月1日

     摘要: usingSystem;usingSystem.Collections;usingSystem.Data;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.HtmlControls;usingCemic.Dal;namespaceCemic.Bll{/**////<summary>///自动生成SQL语句的摘要说明。///</su... 阅读全文

posted @ 2006-06-01 10:11 做回自己 阅读(1306) | 评论 (4)编辑

2006年5月15日

用法

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使用运行播放器的操作系统的传统代码页来解释外部文本文件。

posted @ 2006-05-15 14:41 做回自己 阅读(988) | 评论 (2)编辑

2006年5月8日

 

IDictionaryEnumerator enumerator = thProduct.GetEnumerator(); 
   
while (enumerator.MoveNext())
   
{
    arrKey.Add(
"@"+enumerator.Key.ToString());         // Hashtable关健字
    arrValue.Add(enumerator.Value.ToString());            // Hashtable值
   }

posted @ 2006-05-08 11:19 做回自己 阅读(1088) | 评论 (1)编辑

2006年5月4日

问:不懂得什么是委托
答:就是一个类调用另一个类的方法成员
问:为什么要用委托呢?直接调用不就好了?
答:当一个方法是多个类的公共方法的时候,往往就可以考虑使用委托
问:噢,有什么好处吗?统一到一个地方?然后修改方便?
答:形式统一,实现自便,比如事件源,他只知道当事件发生后要处理,但他不知道要如何处理,也不知道要谁来处理,这时就使用委托,相当于我要告你诽谤,但我不知道司法程序,这件事我就委托给律师帮我实现
问:那不是调用律师类的方法吗?
答:对呀,就是一个类调用另一个类的实现方法
问:然后可能有很多人要找律师?
答:不能这么理解,应该是我可以随便找个律师帮我处理,是一对多,而不是多对一,一对多是指设计期,而一对一的实现过程是在运行期
问:那么我要处理的这个方法就是 delegate?
答:对
问:它有什么好处?
答:它把调用和实现分离开来,简单地说,就是我准备好所有的相关材料,到时任何一个律师都可以按指定材料进行相关处理,而不需要依赖于某一个律师,再深一点说,就是降低类间的耦合度

posted @ 2006-05-04 12:05 做回自己 阅读(176) | 评论 (1)编辑

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

posted @ 2006-04-29 09:16 做回自己 阅读(249) | 评论 (2)编辑

2006年4月19日

无法加载 DLL (oci.dll)。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.DllNotFoundException: 无法加载 DLL (oci.dll)。

在本地测试一切没有问题,上传到服务器就出现上面的问题了

问题解决,是权限不够

posted @ 2006-04-19 11:50 做回自己 阅读(610) | 评论 (1)编辑

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);
出现下面的异常
FileNotFoundException 未找到 assemblyString
可我明明有这么一个字空间和类的啊,高手帮忙解决

程序集加载跟踪: 下列信息有助于确定程序集“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()
            

posted @ 2006-04-18 13:08 做回自己 阅读(638) | 评论 (5)编辑