CodeSmith生成Model、Dal、IDal、BLL
c# 模板都继承此类,调用c#方法。
using System.IO;
using System.Data;
using System.Data.SqlClient;
using System.ComponentModel;
using System.ComponentModel.Design;
using CodeSmith.Engine;
using SchemaExplorer;
public class Model : CodeTemplate
{
public string GetCSharpVariableType(ColumnSchema column)
{
switch (column.DataType)
{
case DbType.AnsiString: return "string";
case DbType.AnsiStringFixedLength: return "string";
case DbType.Binary: return "byte[]";
case DbType.Boolean: return "bool";
case DbType.Byte: return "int";
case DbType.Currency: return "decimal";
case DbType.Date: return "DataTime";
case DbType.DateTime: return "DateTime";
case DbType.Decimal: if (column.Size > 0) { return "decimal"; } else { return "int"; }
case DbType.Double: return "double";
case DbType.Guid: return "Guid";
case DbType.Int16: return "short";
case DbType.Int32: return "int";
case DbType.Int64: return "long";
case DbType.Object: return "string";
case DbType.SByte: return "sbyte";
case DbType.Single: return "float";
case DbType.String: return "string";
case DbType.StringFixedLength: return "string";
case DbType.Time: return "TimeSpan";
case DbType.UInt16: return "ushort";
case DbType.UInt32: return "uint";
case DbType.UInt64: return "ulong";
case DbType.VarNumeric: return "decimal";
}
return null;
}
public string GetCSharpVariableType(MemberColumnSchema column)
{
switch (column.DataType)
{
case DbType.AnsiString: return "string";
case DbType.AnsiStringFixedLength: return "string";
case DbType.Binary: return "byte[]";
case DbType.Boolean: return "bool";
case DbType.Byte: return "int";
case DbType.Currency: return "decimal";
case DbType.Date: return "DataTime";
case DbType.DateTime: return "DateTime";
case DbType.Decimal: if (column.Size > 0) { return "decimal"; } else { return "int"; }
case DbType.Double: return "double";
case DbType.Guid: return "Guid";
case DbType.Int16: return "short";
case DbType.Int32: return "int";
case DbType.Int64: return "long";
case DbType.Object: return "string";
case DbType.SByte: return "sbyte";
case DbType.Single: return "float";
case DbType.String: return "string";
case DbType.StringFixedLength: return "string";
case DbType.Time: return "TimeSpan";
case DbType.UInt16: return "ushort";
case DbType.UInt32: return "uint";
case DbType.UInt64: return "ulong";
case DbType.VarNumeric: return "decimal";
}
return null;
}
public string GetDefaultValue(ColumnSchema column)
{
switch (column.DataType)
{
case DbType.AnsiString: return "String.Empty";
case DbType.AnsiStringFixedLength: return "String.Empty";
case DbType.Binary: return "new byte[]";
case DbType.Boolean: return "false";
case DbType.Byte: return "0";
case DbType.Currency: return "0";
case DbType.Date: return "DateTime.MinValue";
case DbType.DateTime: return "DateTime.MinValue";
case DbType.Decimal: return "0";
case DbType.Double: return "0";
case DbType.Guid: return "Guid.Empty";
case DbType.Int16: return "0";
case DbType.Int32: return "0";
case DbType.Int64: return "0";
case DbType.Object: return "";
case DbType.SByte: return "0";
case DbType.Single: return "0";
case DbType.String: return "String.Empty";
case DbType.StringFixedLength: return "String.Empty";
case DbType.Time: return "0";
case DbType.UInt16: return "0";
case DbType.UInt32: return "0";
case DbType.UInt64: return "0";
case DbType.VarNumeric: return "0";
default: return "";
}
}
public string GetParameters(SchemaExplorer.TableSchema SourceDataTable)
{
string pp = "";
foreach (ColumnSchema column in SourceDataTable.Columns)
{
pp += GetCSharpVariableType(column) + " " + column.Name.ToLower() + ",";
}
//鍘婚櫎鏈€鍚庣殑鈥滐紝鈥?
pp = pp.Remove(pp.Length - 1);
return pp;
}
public string InitialToUpper(string str)
{
str = str.ToLower();
str = InitialToUpper2(str);
return str;
}
public string InitialToUpper2(string str)
{
char first = char.ToUpper(str[0]);
str = str.Substring(1);
str = first + str;
return str;
}
#region DAL
public string BuildSelectSql(SchemaExplorer.TableSchema SourceDataTable)
{
string sql = "select ";
foreach (ColumnSchema column in SourceDataTable.Columns)
{
sql += column.Name + ",";
}
sql = sql.Remove(sql.Length - 1);
sql += " from " + SourceDataTable.Name;
return sql;
}
public string BuildSelectSqlByID(SchemaExplorer.TableSchema SourceDataTable)
{
string sql = BuildSelectSql(SourceDataTable);
if (SourceDataTable.PrimaryKey.MemberColumns.Count == 1)
{
sql += " where " + SourceDataTable.PrimaryKey.MemberColumns[0].Name + "=:" + SourceDataTable.PrimaryKey.MemberColumns[0].Name;
}
else
{
string where = "";
foreach (MemberColumnSchema key in SourceDataTable.PrimaryKey.MemberColumns)
{
where += key.Name + "=:" + key.Name;
}
sql += " where " + where;
}
return sql;
}
public string BuildCreateSql(SchemaExplorer.TableSchema SourceDataTable)
{
string sql = "insert into ";
sql += SourceDataTable.Name;
sql += "(";
foreach (ColumnSchema column in SourceDataTable.Columns)
{
sql += column.Name + "=:" + column.Name + ",";
}
sql = sql.Remove(sql.Length - 1);
sql += ")values (";
foreach (ColumnSchema column in SourceDataTable.Columns)
{
sql += ":" + column.Name + ",";
}
sql = sql.Remove(sql.Length - 1);
sql += ")";
return sql;
}
public string BuildUpdateSql(SchemaExplorer.TableSchema SourceDataTable)
{
string sql = "update ";
sql += SourceDataTable.Name;
sql += " set ";
foreach (ColumnSchema column in SourceDataTable.Columns)
{
if (!column.IsPrimaryKeyMember)
{
sql += column.Name + "=:" + column.Name + ",";
}
}
sql = sql.Remove(sql.Length - 1);
if (SourceDataTable.PrimaryKey.MemberColumns.Count == 1)
{
sql += " where " + SourceDataTable.PrimaryKey.MemberColumns[0].Name + "=:" + SourceDataTable.PrimaryKey.MemberColumns[0].Name;
}
else
{
string where = "";
foreach (MemberColumnSchema key in SourceDataTable.PrimaryKey.MemberColumns)
{
where += key.Name + "=:" + key.Name;
}
sql += " where " + where;
}
return sql;
}
public string BuildDeleteSql(SchemaExplorer.TableSchema SourceDataTable)
{
string sql = "delete from " + SourceDataTable.Name + " where ";
if (SourceDataTable.PrimaryKey.MemberColumns.Count == 1)
{
sql += " where " + SourceDataTable.PrimaryKey.MemberColumns[0].Name + "=:" + SourceDataTable.PrimaryKey.MemberColumns[0].Name;
}
else
{
string where = "";
foreach (MemberColumnSchema key in SourceDataTable.PrimaryKey.MemberColumns)
{
where += key.Name + "=:" + key.Name;
}
sql += " where " + where;
}
return sql;
}
#endregion
public string GetPrimaryKeyParameters(SchemaExplorer.TableSchema SourceDataTable)
{
string parsmstr = "";
foreach (MemberColumnSchema key in SourceDataTable.PrimaryKey.MemberColumns)
{
parsmstr += GetCSharpVariableType(key) + " " + key.Name.ToLower();
}
parsmstr = parsmstr.Remove(parsmstr.Length - 1);
return parsmstr;
}
public string GetInfoParameters(SchemaExplorer.TableSchema SourceDataTable)
{
string paramstr = "";
for (int i = 0; i < SourceDataTable.Columns.Count; i++)
{
string typeName = GetCSharpVariableType(SourceDataTable.Columns[i]);
paramstr += "reader." + GetTypeConvertMothed(typeName) + "(" + i + "),";
}
paramstr = paramstr.Remove(paramstr.Length - 1);
return paramstr;
}
public string GetTypeConvertMothed(string str)
{
switch (str)
{
case "int":
return "GetInt32Value";
default:
return "Get" + InitialToUpper2(str) + "Value";
}
}
}
Model
<%--
Name:
Author:
Description:
--%>
<%@ CodeTemplate Language="C#" TargetLanguage="C#" Src="Model.cs" Inherits="Model" Debug="False" CompilerVersion="v3.5" Description="Template description here." %>
<%@ Property Name="ClassName" Type="System.String" Default="SomeValue" Optional="True" Category="Strings" Description="This is a sample string property." %>
<%@ Property Category="1.Database" Name="SourceDataTable" Optional="False"Type="SchemaExplorer.TableSchema" Description="Database to create SQLite DDL from." %>
<%@ Assembly Name="SchemaExplorer" %><%@ Import Namespace="SchemaExplorer" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Text" %>
/*
insert license info here
*/
using System;namespace Pub.Model
{/// <summary>/// Generated by MyGeneration/// </summary>[Serializable]public class <%=ClassName%>Info{#region Private Members<%foreach (ColumnSchema column in SourceDataTable.Columns){%>private <%=GetCSharpVariableType(column) %> m_<%=column.Name.ToLower()%>;<%} %>#endregion#region Default ( Empty ) Class Constuctor/// <summary>/// default constructor/// </summary>public <%=ClassName%>Info(){<%foreach (ColumnSchema column in SourceDataTable.Columns){%>m_<%=column.Name.ToLower()%>=<%=GetDefaultValue(column)%>; <%} %>}#endregion // End of Default ( Empty ) Class Constuctor#region Full Constructor/// <summary>/// full constructor/// </summary>public <%=ClassName%>Info(<%=GetParameters(SourceDataTable)%>){<%foreach (ColumnSchema column in SourceDataTable.Columns){%>m_<%=column.Name.ToLower()%>=<%=column.Name.ToLower() %>; <%} %>}#endregion // End Full Constructor#region Public Properties<%foreach (ColumnSchema column in SourceDataTable.Columns){%>/// <summary>/// <%=column.Description%>/// </summary> public <%=GetCSharpVariableType(column) %> <%=InitialToUpper(column.Name.ToLower())%>{set{m_<%=column.Name.ToLower()%>=value;}get{return m_<%=column.Name.ToLower()%>;}}<%} %>#endregion}
}<script runat="template">
// My methods here.</script>
DAL
Name:
Author:
Description:
--%>
<%@ CodeTemplate Language="C#" TargetLanguage="C#" Src="Model.cs" Inherits="Model" Debug="False" CompilerVersion="v3.5" Description="Template description here." %>
<%@ Property Name="ClassName" Type="System.String" Default="SomeValue" Optional="True" Category="Strings" Description="This is a sample string property." %>
<%@ Property Category="1.Database" Name="SourceDataTable" Optional="False"
Type="SchemaExplorer.TableSchema"
Description="Database to create SQLite DDL from." %>
<%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Text" %>
using System;
using Pub.IDAL;
using Pub.Model;
using Microsoft.Practices.EnterpriseLibrary.Data;
using System.Data.Common;
using System.Data;
using System.Collections.Generic;
using System.Data.OracleClient;
namespace Pub.OracleDAL
{
/// <summary>
/// Generated by MyGeneration
/// </summary>
public class <%=ClassName%>DAL : I<%=ClassName%>DAL
{
//Static constants
private const string SQL_SELECT_<%=ClassName.ToUpper()%>_BY_TID = "<%=BuildSelectSqlByID(SourceDataTable)%>";
private const string SQL_SELECT_<%=ClassName.ToUpper()%> = "<%=BuildSelectSql(SourceDataTable)%>";
private const string SQL_UPDATE_<%=ClassName.ToUpper()%> = "<%=BuildUpdateSql(SourceDataTable)%>";
private const string SQL_DELETE_<%=ClassName.ToUpper()%> = "<%=BuildDeleteSql(SourceDataTable)%>";
private const string SQL_INSERT_<%=ClassName.ToUpper()%> = "<%=BuildCreateSql(SourceDataTable)%>";
#region I<%=ClassName%>DAL
public void Insert(<%=ClassName%>Info info)
{
Database db = DBHelper.GetDataBase();
DbCommand cmd = db.GetSqlStringCommand(SQL_INSERT_<%=ClassName.ToUpper()%>);
<%foreach (ColumnSchema column in SourceDataTable.Columns){%>
db.AddInParameter(cmd, "<%=column.Name%>", <%=column.DataType%>, info.<%=InitialToUpper(column.Name) %>);
<%}%>
using (DbConnection conn = db.CreateConnection())
{
db.ExecuteNonQuery(cmd);
}
}
public void Update(<%=ClassName%>Info info)
{
Database db = DBHelper.GetDataBase();
DbCommand cmd = db.GetSqlStringCommand(SQL_UPDATE_<%=ClassName.ToUpper()%>);
<%foreach (ColumnSchema column in SourceDataTable.Columns){%>
db.AddInParameter(cmd, "<%=column.Name%>", <%=column.DataType%>, info.<%=InitialToUpper(column.Name) %>);
<%}%>
using (DbConnection conn = db.CreateConnection())
{
db.ExecuteNonQuery(cmd);
}
}
public void Delete(<%=GetPrimaryKeyParameters(SourceDataTable)%>)
{
Database db = DBHelper.GetDataBase();
DbCommand cmd = db.GetSqlStringCommand(SQL_DELETE_<%=ClassName.ToUpper()%>);
<%foreach (MemberColumnSchema key in SourceDataTable.PrimaryKey.MemberColumns){%>
db.AddInParameter(cmd, "<%=key.Name%>", <%=key.DataType%>, <%=key.Name %>);
<%}%>
using (DbConnection conn = db.CreateConnection())
{
db.ExecuteNonQuery(cmd);
}
}
public IList<<%=ClassName%>Info> Select()
{
List<TemplateInfo> infos = new List<TemplateInfo>();
Database db = DBHelper.GetDataBase();
DbCommand cmd = db.GetSqlStringCommand(SQL_SELECT_<%=ClassName.ToUpper()%>);
using (DbConnection conn = db.CreateConnection())
{
IDataReader reader = db.ExecuteReader(cmd);
while (reader.Read())
{
infos.Add(new TemplateInfo(<%=GetInfoParameters(SourceDataTable)%>));
}
}
return infos;
}
public <%=ClassName%>Info Select(<%=GetPrimaryKeyParameters(SourceDataTable)%>)
{
<%=ClassName%>Info info = null;
Database db = DBHelper.GetDataBase();
DbCommand cmd = db.GetSqlStringCommand(SQL_SELECT_<%=ClassName.ToUpper()%>_BY_TID);
db.AddInParameter(cmd, "TId", DbType.Int32, tid);
<%foreach (MemberColumnSchema key in SourceDataTable.PrimaryKey.MemberColumns){%>
db.AddInParameter(cmd, "<%=key.Name%>", <%=key.DataType%>, <%=key.Name %>);
<%}%>
using (DbConnection conn = db.CreateConnection())
{
IDataReader reader = db.ExecuteReader(cmd);
if (reader.Read())
{
info = new <%=ClassName%>Info(<%=GetInfoParameters(SourceDataTable)%>);
}
}
return info;
}
#endregion
}
}
IDAL
<%--
Name:
Author:
Description:
--%>
<%@ CodeTemplate Language="C#" TargetLanguage="C#" Src="Model.cs" Inherits="Model" Debug="False" CompilerVersion="v3.5" Description="Template description here." %>
<%@ Property Name="ClassName" Type="System.String" Default="SomeValue" Optional="True" Category="Strings" Description="This is a sample string property." %>
<%@ Property Category="1.Database" Name="SourceDataTable" Optional="False"Type="SchemaExplorer.TableSchema" Description="Database to create SQLite DDL from." %>
<%@ Assembly Name="SchemaExplorer" %><%@ Import Namespace="SchemaExplorer" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Text" %>using System;
using Pub.Model;
using System.Collections.Generic;namespace Pub.IDAL
{/// <summary>/// Generated by MyGeneration/// </summary>public interface I<%=ClassName%>DAL{void Insert(<%=ClassName%>Info info);void Update(<%=ClassName%>Info info);void Delete(<%=GetPrimaryKeyParameters(SourceDataTable)%>);<%=ClassName%>Info Select(<%=GetPrimaryKeyParameters(SourceDataTable)%>);IList<\<%=ClassName%>Info> Select();}
}
BLL
Name:
Author:
Description:
--%>
<%@ CodeTemplate Language="C#" TargetLanguage="C#" Src="Model.cs" Inherits="Model" Debug="False" CompilerVersion="v3.5" Description="Template description here." %>
<%@ Property Name="ClassName" Type="System.String" Default="SomeValue" Optional="True" Category="Strings" Description="This is a sample string property." %>
<%@ Property Category="1.Database" Name="SourceDataTable" Optional="False"
Type="SchemaExplorer.TableSchema"
Description="Database to create SQLite DDL from." %>
<%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Text" %>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Pub.IDAL;
using Pub.DALFactory;
using Pub.Model;
namespace Pub.BLL
{
public class <%=ClassName%>BLL
{
private static readonly I<%=ClassName%>DAL dal = DataAccess.Create<%=ClassName%>DAL();
public IList<<%=ClassName%>Info> Get<%=ClassName%>s()
{
return dal.Select();
}
public <%=ClassName%>Info Get<%=ClassName%>(<%=GetPrimaryKeyParameters(SourceDataTable)%>)
{
return dal.Select(<%=GetPrimaryKeyParameters(SourceDataTable)%>);
}
public void Add<%=ClassName%>(<%=ClassName%>Info info)
{
dal.Insert(info);
}
public void Modify<%=ClassName%>(<%=ClassName%>Info info)
{
dal.Update(info);
}
public void Delete<%=ClassName%>(<%=GetPrimaryKeyParameters(SourceDataTable)%>)
{
dal.Delete(<%=GetPrimaryKeyParameters(SourceDataTable)%>);
}
}
}
MVCModel
Name:
Author:
Description:
--%>
<%@ CodeTemplate Language="C#" TargetLanguage="C#" Src="Model.cs" Inherits="Model" Debug="False" CompilerVersion="v3.5" Description="Template description here." %>
<%@ Property Name="ClassName" Type="System.String" Default="SomeValue" Optional="True" Category="Strings" Description="This is a sample string property." %>
<%@ Property Name="NameSpace" Type="System.String" Default="ManageSite.Models" Optional="True" Category="Strings" Description="This is a sample string property." %>
<%@ Property Category="1.Database" Name="SourceDataTable" Optional="False"
Type="SchemaExplorer.TableSchema"
Description="Database to create SQLite DDL from." %>
<%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Text" %>
/*
insert license info here
*/
using System;
using System.Web;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Pub.Model;
using Pub.BLL;
namespace <%=NameSpace%>
{
/// <summary>
/// Generated by MyGeneration
/// </summary>
[Serializable]
public class <%=ClassName%>Model
{
<%foreach (ColumnSchema column in SourceDataTable.Columns){%>
[DisplayName("<%=column.Description%>")]
public <%=GetCSharpVariableType(column) %> <%=InitialToUpper(column.Name.ToLower())%>
{
set;
get;
}
<%} %>
}
}
<script runat="template">
// My methods here.
</script>
转载于:https://www.cnblogs.com/q4444zpf/archive/2011/06/23/2087866.html
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- Centos7--traceroute
通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。linux系统中,我们称之为traceroute,在MS …...
2024/5/5 6:07:11 - 解决CodeSmith不能读取MySql数据库字段说明的问题
打开项目: C:\Program Files\CodeSmith\v5.2\Samples\Samples\Projects\CSharp\MySQLSchemaProvider 将MySQLSchemaProvider.cs中的GetExtendedProperties(..)修改为:1 /// <summary> 2 /// Gets the extended properties for a given schema object. …...
2024/4/20 20:52:18 - Linux基础命令---traceroute路由追踪
traceroute traceroute指令输出到目标主机的路由包。Traceroute跟踪从IP网络到给定主机的路由数据包。它利用IP协议的生存时间(TTL)字段,并试图在通往主机的路径上从每个网关激发ICMP TIME_SUBERS响应。 traceroute6等价于“traceroute -6” 唯一需要的参数是目…...
2024/4/20 20:52:17 - CodeSmith绿色化的情况下,又能使之正常工作
最近,完成的工作中,需要使用CodeSmith生成代码。我的思路是这样的:1. 用户的参数,写入在CSP文件中。 2. 括展了CSP文件,因为这个文件是CodeSmith的项目文件,里面存着生成代码时的所有信息。而且是XML格式的,所以,可以对之进行扩展。 3. 然后,调用CodeSmith API,通过C…...
2024/4/21 1:01:43 - C#:CodeSmith根据数据库中的表创建C#数据模型Model + 因为没有钱买正版,所以附加自己写的小代码...
对于C#面向对象的思想,我们习惯于将数据库中的表创建对应的数据模型; 但假如数据表很多时,我们手动增加模型类会显得很浪费时间; 这个时候有些人会用微软提供的EntityFrameWork,这个框架很强大,编写代码效率也很高,但很由于性能差,在复杂查询的时候生成的sql脚本效率不…...
2024/4/21 1:01:41 - 禁用拼和traceroute
#-A INPUT -p icmp -j ACCEPT-A INPUT -p icmp -j REJECT具体解决方式就是禁用ICMP timestamp-request,编辑etc/sysconfig/iptables文件,在防火墙规则里面添加如下记录: -A RH-Firewall-1-INPUT -p ICMP --icmp-type timestamp-request-j DROP -A RH-Firewall-1-INPUT -p…...
2024/4/21 1:01:41 - 用CodeSmith生成SQL
CodeSmith 是一个代码生成工具,你可以用它生成一小段代码片断,也可以用它生成整个工程。CodeSmith采用ASP.NET的模板语法,其过程也都是先将模板转化成C#代码文件,然后编译运行C#代码文件。在做Web项目时,如果你不用Hibernate之类的ORM工具的话,经常要写SQL语句,稍不注意…...
2024/4/21 1:01:40 - 网络探测工具(二)——traceroute
简述搭建网络环境的时候,经常有想要知道报文从源到目的所经历的所有路由节点这样的需要。此时,traceroute小程序,后续简称为tracert,就有用武之地了。功能tracert,最初由大神Van Jacobson设计并实现(膜拜),可以用来探测出报文在网络中从源到目的所经过的所有三层路由节…...
2024/4/20 1:21:58 - 解决“允许Traceroute探测”和“ICMP timestamp请求响应漏洞”
解决ICMP timestamp请求响应漏洞sudo iptables -A INPUT -p ICMP --icmp-type timestamp-request -j DROP sudo iptables -A INPUT -p ICMP --icmp-type timestamp-reply -j DROP解决允许Traceroute探测sudo iptables -A INPUT -p ICMP --icmp-type time-exceeded -j DROP sudo…...
2024/4/21 1:01:37 - 发一个适用于CodeSmith 5.0.1 的sqlite schema provider
放到codeSmith的相关目录下就ok了,当然是Bin目录下的东西. 自己下了个改了改.. /Files/loning/1.1.0.0.rar转载于:https://www.cnblogs.com/loning/archive/2009/05/06/1450883.html...
2024/4/21 1:01:37 - 允许Traceroute探测
允许Traceroute探测 漏洞描述: 允许Traceroute探测 漏洞描述 本插件使用Traceroute探测来获取扫描器与远程主机之间的路由信息。攻击者也可以利用这些信息来了解目标网络的网络拓扑。 威胁分值 1 解决方案:禁traceroute: /sbin/iptables -A FORWARD -p icmp --icmp-type 11 …...
2024/4/21 1:01:35 - H3C 路由器禁止使用traceroute 探测路由
原理:禁止从外网回到本地的 icmp icmp-type ttl-exceeded 数据包1、定义ACL定义ACL抓取 icmp icmp-type ttl-exceeded 和icmp icmp-type timestamp-replyacl num 3889rule 2 permit icmp icmp-type timestamp-reply rule 3 permit icmp icmp-type ttl-exceeded定义允许的目标,…...
2024/4/21 1:01:34 - CodeSmith : 声明和使用属性
CodeSmith的核心是模板,而使模板具有活力的就是属性,通过定义属性从而使代码模板能够根据配置生成所需的代码。在使用代码模板时首先也必须给模板定义的属性定义值才能使用CodeSmith通过模板产生代码。有些属性具有缺省值,这些属性可以不需要配置。模板中的属性通过Property…...
2024/4/21 1:01:33 - 无法traceroute出防火墙问题
无法traceroute出防火墙:----如果从防火墙的高安全区到低安全区进行traceroute,则需要放行TTL超时的ICMP包和端口不可达的ICMP包----如果从防火墙的低安全区到高安全区进行traceroute,则只需要放行起始的UDP包,目标端口从UDP 33434~33523...
2024/4/21 1:01:33 - 在Linux防火墙上过滤外来的ICMP timestamp和禁止Traceroute探测
由于等保测评要求,最近需要协助加固Linux的云服务器,修复这两个漏洞,故查阅了相关资料,整理起来以便以后回看 环境:Centos6.9 ICMP timestamp 请求响应漏洞 解决方案:在您的防火墙上过滤外来的ICMP timestamp(类型13)报文以及外出的ICMP timestamp回复报文。 具体解决方…...
2024/4/21 1:01:31 - CodeSmith连接mysql报.net framework data provider 没发现
1 安装MySQL .Net 库 2 将\MySQL Connector Net 6.8.3\Assemblies\v4.5 下的MySql.Data.dll复制到CodeSmith\v7.0\SchemaProviders下 3 打开CodeSmith 找到Schema Explorer 添加数据库连接 连接格式Data Source =127.0.0.1;User Id=root;Password=;Database=test;...
2024/4/20 20:52:29 - CodeSmith 使用教程(13) 调试
编写CodeSmith模板和编写程序一样,也需要进行调试,CodeSmith支持使用CLR’sJust-in-Time debugger调试模板。要调试模板,首先要在CodeTemplate声明中打开调试Debug=”True”:[csharp] view plaincopyprint?<%@ CodeTemplate Language="C#" TargetLangua…...
2024/4/20 2:39:30 - strtoul (将字符串转换成无符号长整型数)
表头文件#include<stdlib.h>定义函数unsigned long strtoul(const char *nptr,char**endptr,int base); strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值…...
2024/4/25 11:57:33 - CodeSmith应用(三)
今天在微软的网站看到的一篇使用CodeSmith的例子,现在写出来大家一起研究研究。 首先,我还是要简要介绍一下其中用到的基础知识。 1.在模板中的代码区中(<%= %>或<% %>)可以使用.NET中的一些类和方法。但是就像和.NET项目中一样需要添加应用,…...
2024/4/20 20:52:24 - vb字符串和整型数之间的转换函数
1、整型转换成字符串str(整型变量) 2、字符串转化为整型val(字符串变量)转载于:https://www.cnblogs.com/jiaxiaoai/archive/2011/08/01/2123897.html...
2024/4/20 20:52:23
最新文章
- 【Unity】Mathf
【Unity】Mathf 1.Math与Mathf 推荐使用Mathf Math是C#中封装好的用于数学计算的工具 类,Math位于System命名空间中Mathf是Unity中封装好的用于数学计算的工具 结构体,Mathf位于UnityEngine命名空间中Mathf比Math方法多,不仅包含Math中的方…...
2024/5/5 12:23:33 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - Chrome 浏览器无法保存或自动填充密码
Chrome 浏览器无法保存或自动填充密码 分类 平时使用 Chrome 浏览器都会对网站的用户名密码自动填充,今天发现突然不行了,找到一个解决办法: 1、退出 Chrome 浏览器。2、打开 Chrome 安装目录下的的 Profile 目录,删除 Login Da…...
2024/5/5 11:47:02 - 【计算机网络】基础知识复习-第一章-计算机网络基础
第一章 计算机网络基础 以传输信息为主要目的,利用通信线路将各计算机系统的计算机连接起来的计算机群称为计算机通信网络。 凡是将地理位置不同,并具有独立功能的多个计算机系统通过通信设备和线路连接起来,以适用的软件(即…...
2024/4/30 17:32:57 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/4 23:54:56 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/4 23:54:56 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/5/4 23:54:56 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/4 23:55:17 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/5/4 23:54:56 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/5/4 23:55:05 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/5/4 23:54:56 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/5/4 23:55:16 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/5/4 23:54:56 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/4 18:20:48 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/5/4 23:54:56 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/5/4 23:55:17 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/5/4 23:55:06 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/5/4 23:54:56 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/4 23:55:06 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/5/5 8:13:33 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/5/4 23:55:16 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/5/4 23:54:58 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/4 23:55:01 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/5/4 23:54:56 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57