EF下未指定具体数据类型,DateTime类型字段在Oracle数据库下默认映射成TIMESTAMP类型,Oracle数据库默认时间类型都是DATE,这种情况直接查询,会造成需要TIMESTAMP隐式转换成DATE类型,造成性能下降。
解决方法:
指定TypeName = "DATE"
/// <summary> /// 操作时间 /// </summary> [Column("OPER_DATE", TypeName = "DATE")] 阅读全文>>
EF下未指定具体数据类型,DateTime类型字段在Oracle数据库下默认映射成TIMESTAMP类型,Oracle数据库默认时间类型都是DATE,这种情况直接查询,会造成需要TIMESTAMP隐式转换成DATE类型,造成性能下降。
解决方法:
指定TypeName = "DATE"
/// <summary> /// 操作时间 /// </summary> [Column("OPER_DATE", TypeName = "DATE")] 阅读全文>>
消息发送方
一、引入系统方法SendMessage
private const int WM_COPYDATA = 0x004A;//这个不要随意更改,否则可能造成读取数据报错 [DllImport("User32.dll", EntryPoint = "SendMessage")] private static extern int SendMessage(IntPtr hWnd, int msg, int wParam, ref COPYDATASTRUCT lParam);
二、声明数据传输结构体
阅读全文>>
如果你Oracle数据库的字段类型varchar2,你C#的model类使用string则默认会命不中索引,造成执行性能慢问题
EFCore解决方案:
因为EF访问Oracle默认支持Unicode数据类型,默认将string映射为nvarchar2,如果数据库类型不是nvarchar2则无法命中索引。
重写context的OnModelCreating,将默认string映射修改为varchar2,即不支持Unicode类型即可
protected 阅读全文>>
Nhibernate默认把 .net 的 string 映射为 DbType.String,把 DbType.String 映射为 nvarchar2 ,把 DbType.AnsiString 映射为 varchar2
如果你Oracle数据库的字段类型varchar2,你用默认设置SetParameter(string,string)则因映射数据类型不一致,造成无法命中索引,SQL执行慢;使用SetAnsiString(string,string)则可以命中索引。
EF中默认的decimal数据精度为两位数,当我们数据库设置的精度大于2时,EF将只会保留到2为精度。
可使用如下方法将其修改为4位精度:
EF
protectedoverridevoidOnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Properties<decimal>().Configure(config => config.HasPrecision(18, 4)); }
EF CO 阅读全文>>
默认是中文界面,软件内部部分又是英文,看起来很乱,统一设置成英文,方法如下:
打开配置文件:\sqldeveloper\bin\sqldeveloper.conf
在末尾添加如下配置信息
# 设置界面为英文 AddVMOption -Duser.language=en AddVMOption -Duser.country=US # 设置界面字体为微软雅黑 AddVMOption -Dswing.plaf.metal.controlFont=Micro 阅读全文>>
1、正则表达式写法:
CREATE OR REPLACE FUNCTION fn_checkidcard (p_idcard IN VARCHAR2) RETURN INT IS v_regstr VARCHAR2 (2000); v_sum NUMBER; v_mod NUMBER; v_checkcode CHAR (11) := '10X98765432'; v_checkbit CHAR (1); v_areacode VARCHAR2 (2000) := '11,12,13,14,15,21,22,23,31,32,33,34,35,36,37,41,42, 阅读全文>>
SQL SERVER:
SELECT CASE WHEN A.COLORDER=1 THEN D.NAME ELSE '' END AS 表名, CASE WHEN A.COLORDER=1 THEN ISNULL(F.VALUE,'') ELSE '' END AS 表说明, A.COLORDER AS 字段序号, A.NAME AS 字段名, CASE WHEN COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 THEN '√' ELSE '' END AS 标识, C 阅读全文>>
NLS_LANG是一个环境变量,用于定义语言,地域以及字符集属性。对于非英语的字符集,NLS_LANG的设置就非常重要。
NLS:‘National Language Support (NLS)’ 当我们设定一种nls的时候实际上我们是为oracle在存放数据时指定了他的语种所特有的一些表达形式,比如我们选择chinese,那么它的中文字符如何存放,按什么规则排序,货币如何表示,日期格式也就被设定了。
NLS_LANG参数由以下部分组成:NLS_LANG=<Langu 阅读全文>>
--查看session和process上限和峰值 SELECT RESOURCE_NAME,MAX_UTILIZATION,LIMIT_VALUE FROM V$RESOURCE_LIMIT; --查看oracle缓存的命中率 select 1 - ((physical.value - direct.value - lobs.value) / logical.value) "Buffer Cache Hit Ratio" from v$sysstat physical,v$sysstat direct,v$sysstat lobs,v$sysstat logical where physical.name = 'physical reads' an 阅读全文>>
SQL> shutdown immediate 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 SQL> startup nomount ORACLE 例程已经启动。 Total System Global Area 1686925312 bytes Fixed Size 2176368 bytes Variable Size 1291848336 bytes Database Buffers 385875968 bytes Redo Buffers 7024640 bytes SQL> alte 阅读全文>>
Select to_char(sysdate,'Q') from dual;--指定日期的季度
Select to_char(sysdate,'MM') from dual;--月份
Select to_char(sysdate,'WW') from dual;--当年第几周
Select to_char(sysdate,'W') from dual ;--本月第几周
Select to_char(sysdate,'DD') from dual;--当月第几天
Select to_char(sysdate,'D') from dual 阅读全文>>
ASP.NET MVC5 post提交数据时报:An asynchronous module or handler completed while an asynchronous operation was still pending.错误,测试的时候提交正常数据不报错,如果提交包含javascript和html等数据的时候报以上错误,经测试系安全验证异常错误,但是界面上并未显示相关异常信息
解决方法,在Action上添加[ValidateInput(false)]Attribute关闭验证就不会报错,但是安全性考虑建议使用AntiXSS白名 阅读全文>>
用如下方法获取UserId报空引用异常
public class BaseController : Controller { protected SiteContext db = new SiteContext(); protected Guid userId; public BaseController() { userId = Guid.Parse(User.Identity.GetUserId()); } }
由于Controller未初始化完成,User为空,重写初始化方法,在初始化(ba 阅读全文>>
做ASP.NET MVC开发的时候,经常会出现一下错误:
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specifie 阅读全文>>
使用如下代码加载css:
<link href="/Content/css/home?v=zhVOIpUNuvCOZhJyBcQWpMlozayor4te6k-pM29wHqI1" rel="stylesheet"/>
报403 - 禁止访问: 访问被拒绝。
您无权使用所提供的凭据查看此目录或页面。
解决方法:
如上链接MVC Bundle的处理规则是:
如果服务器存在/Content/css目录,则按照常规文件请求文件系 阅读全文>>
操作XML时报错:The ':' character, hexadecimal value 0x3A, cannot be included in a name.
相关源代码如下:
XNamespace xnamespace = "http://www.sitemaps.org/schemas/sitemap/0.9"; XNamespace xnamespaceForBaiduMobile = "http://www.baidu.com/schemas/sitemap-mobile/1/"; XElement siteMapForArticles = new XElement(xnamespace + "urlset", 阅读全文>>
class ListDistinctDemo { static void Main(string[] args) { List<Person> personList = new List<Person>(){ new Person(3),//重复数据 new Person(3), new Person(2), new Person(1) }; //使用匿名方法 List<Person&g 阅读全文>>
dedecms即织梦(PHP开源网站内容管理系统)。织梦内容管理系统(DedeCms) 以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,近日,网友在dedecms中发现了全版本通杀的SQL注入漏洞,目前官方最新版已修复该漏洞,相关利用代码如下:
EXP:
Exp:plus/recommend.php?action=&aid=1&_FILES[type][tmp_name]=\' or mid 阅读全文>>
1 X-AspNetMvc-Version
在Global.asax的Application_Start方法中加入
MvcHandler.DisableMvcResponseHeader = true;
2 X-AspNet-Version
web.config中
<httpRuntime enableVersionHeader="false" />
3 X-Powered-By
web.config中
<httpProtocol>
<customHeaders>
  阅读全文>>
打开eclipse导航window按钮打开“preferences”
看图
重新打开一下dwt或者lbi文件!OK!成功了
查了下资料发现setTextColor()的参数应该写成以下的这种形式:
setTextColor(0xFF0000FF);//0xFF0000FF是int类型的数据,分组一下0x|FF|0000FF,0x是代表颜色整数的标记,ff是表示透明度,0000FF表示颜色.
注意:这里0xFF0000FF必须是8个的颜色表示,不接受0000FF这种6个的颜色表示。
另外还可以使用系统自带的颜色类
setTextColor(android.graphics.Co 阅读全文>>
mysql计算GPS经纬度距离
DELIMITER $$ CREATEDEFINER=`root`@`localhost` FUNCTION`getDistance`( lon1 float(10,7) ,lat1 float(10,7) ,lon2 float(10,7) ,lat2 float(10,7) ) RETURNSdouble begin declared double; declareradius int; setradius = 6378140; #假设地球为正球形,直径为6378140米 setd = (2*ATAN2(SQRT(SIN((lat1-lat2)*PI()/180/2) *SIN((lat1-lat2)*P 阅读全文>>
C#时间/日期格式大全,C#时间/日期函数大全
有时候我们要对时间进行转换,达到不同的显示效果
默认格式为:2005-6-6 14:33:34
如果要换成成200506,06-2005,2005-6-6或更多的该怎么办呢?
我们要用到:
DateTime.ToString的方法(String, IFormatProvider)
using System; using System.Globalization; 阅读全文>>
异常信息 org.json.JSONException: Value of type java.lang.String cannot be converted to JSONObject
在2.3以上版本不出错,2.3的时候报这个问题,搜索得到:
由于utf-8的bom头引起的,让去掉bom头,但是也没解决了,即使在本地进行处理json字符串将bom头去掉,但是也不行。json字符串格式也没问题,所以可以肯定的是json字符内部有无法识别或者未知的字符,所以当时就把当时得到的json字符串进... 阅读全文>>
Android在绑定服务的时候出现java.lang.ClassCastException:android.os.BinderProxy cannot be cast to com.
修改manifest文件里边相关服务去掉android:process=":remote"即可。
IllegalStateException: Can't deserialize target data of key 'IdeaAndroidProject'. Given class loaders: [PluginClassLoader[org.jetbrains.android, 10.0]]: Can't deserialize target data of key 'IdeaAndroidProject'. Given class loaders: [PluginClassLoader[org.jetbrains.android, 10.0]]
报这个错误,新建工程也看不到源文件,升级新版本可以解决这个问题
阅读全文>>
CSRF(Cross-site request forgery跨站请求伪造,也被称成为“one click attack”或者session riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。
1 CSRF攻击原理
CSRF攻击原理比较简单,如图1所示。其中Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User C为Web A网站的合法用户。
阅读全文>>
我们在用mvc开发的时候新增数据提交表单时,ModelState.IsValid 提示The ID field is required.
我们先看下Model设计:
[Key] [Editable(false,AllowInitialValue=true)] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int ID { get; set; }
解说下,这里我们使用自动增长主键,切不允许编辑属性... 阅读全文>>
MVC使用Ajax.BeginForm上传图片时HttpPostedFileBase file为null,Request.Files获取不到文件,问题分析是页面中存在jquery.unobtrusive-ajax.js文件,注释后能够获取到。改为Html.BeginForm实现如下:
@using (Html.BeginForm("UploadPhoto", "EditUserInfo", FormMethod.Post, new { enctype = "multipart/form-data" })) { 选择图片: <input type="file" name="uploa 阅读全文>>
百度接口相关说明:http://developer.baidu.com/map/ip-location-api.htm
返回是json格式,首先构建相关反系列化类:
#region AddressForQueryIPFromBaidu [Serializable] public class AddressForQueryIPFromBaidu { public string Address { get; set; } public Content Content { get; set; 阅读全文>>
在asp.net mvc的强类型视图(strongly typed view)使用下拉列表,在Controller中设定的选择项在View上选中失效
下面是我的代码:
public ActionResult Create(int id=0,int parentid=0) { var productCategory=db.ProductCategorys.Where(pc => pc.ParentID == parentid).ToList(); productCategory.Insert(0,new ProductCategoryModel() { Name = "顶级分 阅读全文>>
mvc使用Area分区开发后,存在在不同Area间跳转,需要为每个区间添加Area规则,如下:
public class CompanyAreaRegistration : AreaRegistration { public override string AreaName { get { return "Company"; } } public override void RegisterArea(AreaRegistrationContext context) { context 阅读全文>>
2013年的黑帽大会将于7月27日到8月1日期间在拉斯维加斯召开。在即将到来的2013黑帽安全大会上,安全研究者们将会介绍一些黑客工具。
这些工具可以解决的问题从恶意软件分析到漏洞查找利用不等。但是其中只有少数工具可以帮助安全专家们做钓鱼攻击的培训,在没有电子表或重量级监控风险服从的情况下管理日常风险活动或是帮助企业获得更多优势。这些工具将会在今年的黑帽大会上亮相。下面是五款值得一看的黑客工具。 阅读全文>>
1. 异常包
TCP/UDP:端口值为0的包;校验和错误的包
TCP标志位异常包:SYN只能单独存在或只能和ACK共存,和其他标志共存就是异常包;没有标志或标志全置的包;有ACK标志但Acknowledgment Number为0的包;有SYN标志但Sequence Number为0的包;有URG标志但Urgent Pointer为0,或没有URG标志但Urgent Pointer不为0的包;RST和除ACK标志之外的其他标志共存的包;
这种攻击标志很 阅读全文>>
[Display(Name="发布时间:")] [DataType(DataType.Date)] public DateTime PubTime { get; set; }
修改如下:
[Display(Name="发布时间:")] [DataType(DataType.Date)] [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)] public DateTime PubTime { get; set; }
说明 Html5的 阅读全文>>
在SEO搜索优化中都有要求提交SiteMap的,例如google,百度都有这个功能。具体意义不再本文讨论中。
几个重要的问题
生成文章类动态sitemap.xml文件
生成sitemapindex.xml文件
何时调整以上两个文件做到时效性
第一步生成以上两个xml文件,以下代码放于HomeCo 阅读全文>>
网站要对外提供资源订阅,自然少不了Rss支持,Rss就是遵循Rss格式的xml文档,网站能自动生成这个自然能方便很多。
示例:http://www.yn-s.com/Home/Rss
腾讯也提供邮箱订阅功能,前提是你网站要支持rss。
以下是mvc实现此功能代码:
public ActionResult Rss() { var articles =db.Articles.OrderByDescending 阅读全文>>
首先FilterConfig添加
public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new CustomHandleErrorAttribute()); }
自定义HandleErrorAttribute如下:
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true) 阅读全文>>
申请时Token验证代码如下:
private static readonly string Token = "wweixin"; // // GET: /Weixin/ [HttpGet] public ActionResult Index() { string echoStr = Request.QueryString["echoStr"]; if (CheckSignature()) { if (!string.IsNullOrEmpty(echoStr)) 阅读全文>>
mvc使用MVC Ajax.BeginForm提交的时候有重复提交结果的时候检查相关js文件引用情况,
其中mvc4注意
@Scripts.Render("~/bundles/modernizr") bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include( "~/Scripts/jquery.unobtrusive*", "~/Scripts/jquery.validate*"));
这个里边他是通过*号加载了符合... 阅读全文>>
前端模版文件,给第一个初始下拉列表初始值,第二个没数据,通过Ajax调用后台返回json数据绑定。
@Html.DropDownList("CategroyID", (IEnumerable<SelectListItem>)ViewBag.CategoryID, "请选择...", new { id = "CategroyID", onchange = "GetArticleClass(this)" }) <select id="ArticleClassID" name="ArticleClassID"> <option value="">请选择.. 阅读全文>>
In order to configure Visual Studio to use Beyond Compare for a compare operation choose the following options:
Select: Tools –> Options –> Expand Source Control –> Choose “Visual Studio Team Foundation Server.
Select: “Configure User Tools.”
Click the “Add” button.
Enter “.*” in t 阅读全文>>
SqlCacheDependency可以使缓存在数据库或者数据库某张表或者字段变化后让指定缓存失效。对于一些需要及时显示的信息比较有用。
需要.net2.0以后设sql server2005及以后版本支持。
首先配置web.config
<system.web>
<caching>
<sqlCacheDependency enabled="true" pollTime="5000">
<databases>
<add connectionStringName="DefaultConnectio 阅读全文>>
在做C/S方面的软件开发的时候,难免需要在子窗口事件中操作父窗口的属性或者资源等,有两个方式,一种是发父窗口传递给子窗口,把父窗口的属性或资源设置public,另一种是使用委托事件来处理。
下面这种方法是使用委托事件来实现以上功能:
我们以登录为例,子窗体 AccountWindow :
①定义委托:
public delegate void LoginSuccessedDelegate(object sender, LoginSuccessedEventArgs e);
pub 阅读全文>>
显示学生信息,当学生姓名发生改变的时候,就需要实时地表现到UI上。
在这种情况下,就需要Student类实现INotifyCollectionChanged接口。
如下:
public class Student : INotifyPropertyChanged
{
string firstName;
public string FirstName { get { return firstName; } set { firstName = value; Notify("FirstName"); } }
string lastName;
public string LastName { get 阅读全文>>
MVC4 SimpleMembership 身份验证,重新删除数据库重新生成后注册用户登录,遇到User.IsUserInRole()或者[Authorize(Roles = "xxx")]方法后报InvalidOperationException:No user found was found that has the name xxx,查询数据数据都正常啊,后边换了个浏览器发现一切正常,把原浏览器身份验证的cookie删除后也一切正常。
SimpleMembership身份验证过多的依赖于cookie,数据变了后为什么不能自动修改或删除无效数据,唉 阅读全文>>
mvc4中把之前Membership升级成simpleMembership,自然升级是好处比较多,每一个新版本的到来,都需要接收它的惊喜和接受它的bug。
我在Controller上做验证的时候,我们使用 [Authorize] 和 [Authorize(Users="myuser")]都没问题,当我们使用 [Authorize(Roles="admin")]的时候问题来了,我们得到以下错误:
Server Error in '/' Application.
A network-related or i 阅读全文>>
报错如下:
Multiple types were found that match the controller named 'Home'. This can happen if the route that services this request ('{controller}/{action}/{id}') does not specify namespaces to search for a controller that matches the request. If this is the case, register this route by calling an overload of the 'MapRoute' method that takes a 'namespaces' parameter.
The reque 阅读全文>>
一、从SOP到CORS
SOP就是Same Origin Policy同源策略,指一个域的文档或脚本,不能获取或修改另一个域的文档的属性。也就是Ajax不能跨域访问,我们之前的Web资源访问的根本策略都是建立在SOP上的。它导致很多web开发者很痛苦,后来搞出很多跨域方案,比如JSONP和flash socket。如下图所示:
后来出现了CORS-CrossOrigin Resources 阅读全文>>
安装asp.net mvc4之后,之前的mvc3项目编译时报这个错“The type System.Web.Mvc.ModelClientValidationRule exists in both c:\Program Files\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\System.Web.Mvc.dll and c:\Program Files\Microso...”
重新安装mvc3也许可以解决这个问题,不过还会覆盖mvc4的配置,可以通过修改引用来解决:
1.打开根目录下web.config文件添加一下配置项:
<appse 阅读全文>>