最近的文章列表

Asp.net 默认配置下,Session莫名丢失的原因及解决办法
正常操作情况下Session会无故丢失。因为程序是在不停的被操作,排除Session超时的可能。另外,Session超时时间被设定成60分钟,不会这么快就超时的。这次到CSDN上搜了一下帖子,发现好多人在讨论这个问题,然后我又google了一下,发现微软网站上也有类似的内容。现在我就把原因和解决办法写出来。原因:由于Asp.net程序是默认配置,所以Web.Config文件中关于Session的设定如下:<sessionState mode=’InProc’ stateConnectionString=’tcpip=127.0.0.1:42424’ sqlConnectionString=’data source=127.0.0.1;Trusted_Connection=yes’ co
2011/6/3 Comments:
Unable to load DLL由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会
Unable to load DLL ’CarClub.dll’: 由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。 (Exception from HRESULT: 0x800736B1)奇怪的是:如果我在发布的机器上安装一套 Visual 2008 调试该程序再运行就能解决!解决办法:下载安装vcredist_x86.exe同时在服务器(win2003)上安装.net framework时,安装不上去,报错误IMC 可以安装 安装VS2010时图像处理组件wic_x86_chs.exeWindows 图像组件 (WIC) 提供启用 WIC 功能的应用程序,可显示并编辑安装有兼容 WIC 编解码器的任何一种图像格式,还能读写图像文件中的元数据。Windows
2011/5/23 Comments:
验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey>
验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.Web.HttpException: 验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。分析:分析后找到了问题的根源。首先,文章中提到,如果用GridView,并且指定了Da
2011/5/23 Comments:
PInvoke调用导致堆栈不对称
对 PInvoke 函数HTLib::Usb_DelHtFile的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。把:[DllImport("ht32dll.dll")]public static extern long Usb_DelHtFile(string filename,long mIndex);改成:[DllImport("ht32dll.dll")]public static extern int Usb_DelHtFile(string filename, int mIndex);后来查阅网文(网址:http://hi.baidu
2011/5/14 Comments:
编写C++非托管DLL以及在.NET托管中调用
编写C++非托管DLL以及在.NET托管中调用 新建项目,来到Win32,点击Win32项目输入名称MyVC点击确定。应用程序类型,勾选DLL,点击完成。 MyVC.cpp #include "stdafx.h"#include <stdio.h> extern "C" __declspec(dllexport) int Max(int a,int b){ return a>b?a:b;}extern "C" __declspec(dllexport) int Min(int a,int b){ return a>b?b:a;} //此示例来自CSDNextern "
2011/5/14 Comments:
MSDN中回调函数的讲解及其C#例子:用委托实现回调函数
ms-help://MS.MSDNQTR.2003FEB.2052/cpguide/html/cpconusingcallbackfunctions.htm回调函数是托管应用程序中可帮助非托管 DLL 函数完成任务的代码。对回调函数的调用将从托管应用程序中,通过一个 DLL 函数,间接地传递给托管实现。在用平台调用调用的多种 DLL 函数中,有些函数要求正确地运行托管代码中的回调函数。本主题将介绍托管函数的元素,并说明如何实现回调函数和从托管代码中调用回调函数。回调函数基础要从托管代码中调用大多数 DLL 函数,可创建该函数的托管定义,然后调用该函数。此过程比较直接。要使用需要回调函数的 DLL 函数,则会有一些附加的步骤。首先,必须在文档中查阅该函数,确定该函数是否需要回调。接着,必须在托
2011/5/14 Comments:
C#委托delegate(代理)
C# 代理实际上类似于C++中的函数指针,因为C#中不存在指针,所以用代理可以完成一些原来在C++中用函数指针完成的操作,例如传递一个类A的方法m给另一个类B的对象,使得类B的对象能够调用这个方法m。但与函数指针相比,delegate有许多函数指针不具备的优点。首先,函数指针只能指向静态函数,而delegate既可以引用静态函数,又可以引用非静态成员函数。在引用非静态成员函数时,delegate不但保存了对此函数入口指针的引用,而且还保存了调用此函数的类实例的引用。其次,与函数指针相比,delegate是面向对象、类型安全、可靠的受控(managed)对象。也就是说,runtime能够保证delegate指向一个有效的方法,你无须担心delegate会指向无效地址或者越界地址。 实现一
2011/5/10 Comments:
asp.net禁止页面缓存,适合各种浏览器
客户端:<html> <head> <meta http-equiv="Expires" CONTENT="0"> <meta http-equiv="Cache-Control" CONTENT="no-cache"> <meta http-equiv="Pragma" CONTENT="no-cache"> </head>服务器端:Response.Buffer = true;Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);Response.C
2011/5/9 Comments:
C#用工厂模式、反射机制和缓存机制来设计数据访问层的接口
我们的C#教程中也会讲到C#设计模式,但C#设计模式涉及知识面广,我们会用专题来深入讲解C#语言体系中设计模式的问题。本文重点在于如何更好地创建数据访问层(在ASP.Net教程中还有几篇相关文章)。 工厂模式,就是类似像工厂生产东西一样的意思。只需得到出厂的东西,具体怎么生产就不知道了。拿程序来说,就是自己定义一个类,这个类当中会有很多方法,而这些方法就是创建对象的作用,用这个类的人只需知道调用哪个方法得到哪个具体对象,至于怎么得到就不用管了。工厂模式在ASP.Net教程系列文章中会经常遇到,大家可以在本站搜素中搜素。 反射机制,其实也很简单,就是一个类,可以利用反射机制得到自己有多少个方法,属性,方法名等等,这时候就可以判断这个类有无这个属性,或这个方法。从而调用该方法。关于C#
2011/4/29 Comments:
DALFactory与IDAL的区别
业务逻辑层调用IDAL接口是对的,但说这里体现不了接口的优势是错的,这里正是体现接口优势的地方!因为有了DAL层,软件可以轻易移植到不同种类的数据库上运行。不同种类数据库的具体编码不同,所以要分开实现,但无论数据库编码写么编,对于业务逻辑层来说,就是一个作用,保存数据!所以不同种类数据库DAL层都继承自IDAL,这样业务层就不用考虑调用的到底是哪种数据库来保存数据,只要按IDAL规定的方法存了就行。真正去存入数据库的时候,到底存到了哪种数据库里,就看对IDAL进行实例化的时候,生成的是哪种数据库的实例。接口中定义了要用的方法,当调用接口时会根据具体的情况再去调用底层数据访问操作。而现在这个DALFactory就是关键,当BLL层要操作数据库时,DALFactory会根据具体情况再去使用Sql
2011/4/29 Comments: