据说:SmartAssembly 提供了一种用于优化你的 .NET 汇编程序,保护你的作品和软件,最小化发布程序尺寸,增强性能以及添加强大的发布配置调试能力的独特的解决方案。SmartAssembly 可以让你高效地立刻提交一个你的没有异常状况的 .NET 应用软件的精巧版本。
主要特性:优化代码,合并依赖程序集,混淆,字符编码,压缩等
本文来自: redgate的{smartassembly}
errorMSB3323: Unable to find manifest signing certificate in the certificate store.
<Date: 2010-03-10> <Category: .NET> 发表评论CCNET build报的错
D:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets (1783,7): errorMSB3323: Unable to find manifest signing certificate in the certificate store.
解决办法,如下,工程属性,singing选项卡,去掉ClickOne的钩即可。
本文来自: errorMSB3323: Unable to find manifest signing certificate in the certificate store.
实例上下文模式
InstanceContextMode 控制在响应客户端调用时,如何分配服务实例。InstanceContextMode 可以设置为以下值:
•Single - 为所有客户端调用分配一个服务实例。
•PerCall – 为每个客户端调用分配一个服务实例。
•PerSession – 为每个客户端会话分配一个服务实例。
InstanceContextMode 的默认设置为 PerSession
并发模式
ConcurrencyMode 控制一次允许多少个线程进入服务。ConcurrencyMode 可以设置为以下值之一:
•Single - 一次可以有一个线程进入服务。
•Reentrant - 一次可以有一个线程进入服务,但允许回调。
•Multiple - 一次可以有多个线程进入服务。
ConcurrencyMode 的默认设置为 Single。
本文来自: WCF实例上下文模式与并发模式对性能的影响
string configFile = string.Empty;
if (HostingEnvironment.IsHosted) //如果是web环境
{
configFile = Path.Combine(HostingEnvironment.ApplicationPhysicalPath, ConfigurationManager.AppSettings["spring.config"]);
}
else
{
string assemblyFilePath = Assembly.GetExecutingAssembly().Location;
string assemblyDirPath = Path.GetDirectoryName(assemblyFilePath);
configFile = Path.Combine(assemblyDirPath, ConfigurationManager.AppSettings["spring.config"]);
}
if (File.Exists(configFile))
{
currentContext = new XmlApplicationContext(configFile);
}
else
{
throw new ConfigurationException("Spring 配置错误!"+configFile);
}
WCF部署在IIS下,报错如下:
应用程序“DEFAULT WEB SITE/IMF”中的服务器错误
Internet 信息服务 7.0
HTTP 错误 404.3 - Not Found
由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。
| 模块 | StaticFileModule |
|---|---|
| 通知 | ExecuteRequestHandler |
| 处理程序 | StaticFile |
| 错误代码 | 0x80070032 |
| 请求的 URL | http://localhost:80/imf/MetaDataService.svc |
|---|---|
| 物理路径 | E:\Development\IMF\deploy\services\MetaDataService.svc |
| 登录方法 | 匿名 |
| 登录用户 | 匿名 |
- 可能是缺少处理程序映射。默认情况下,静态文件处理程序将处理所有内容。
- 您要使用的功能可能尚未安装。
- 没有为网站或应用程序启用相应的 MIME 映射。(警告: 请不要为用户不应下载的 .ASPX 页或 .config 文件等内容创建 MIME 映射。)
- 如果未安装 ASP.NET。
- 在 system.webServer/handlers 中:
- 确保映射了当前页所需的处理程序。
- 请特别注意前提(例如,runtimeVersion、pipelineMode、bitness)并将这些前提与应用程序池的设置进行比较。
- 请特别注意所需处理程序行中的书写错误。
- 请确认要使用的功能已经安装。
- 确认启用了 MIME 映射,或使用命令行工具 appcmd.exe 为网站添加 MIME 映射。
- 要设置 MIME 类型,请使用以下语法: %SystemRoot%\windows\system32\inetsrv\appcmd set config /section:staticContent /+[fileExtension='string',mimeType='string']
- 变量 fileExtension 字符串是文件扩展名,变量 mimeType 字符串是文件类型说明。
- 例如,要为扩展名为“.xyz”的文件添加 MIME 映射: appcmd set config /section:staticContent /+[fileExtension='.xyz',mimeType='text/plain']
警告: 请在确认您的 Web 服务器需要此 MIME 映射之后再将其添加到列表中。配置文件(如 .CONFIG)或动态脚本页(如 .ASP 或 .ASPX)不应直接下载,应始终通过处理程序来处理。有时会使用其他文件(如数据库文件或 .XML 或 .MDF 等用于存储配置的文件)来存储配置信息。请先确认客户端能否下载这些类型的文件,然后再启用这些文件。
- 安装 ASP.NET。
- 创建跟踪规则以跟踪此 HTTP 状态代码的失败的请求。有关为失败的请求创建跟踪规则的详细信息,请单击此处。
解决办法:
以管理员运行命令:C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe -i
本文来自: IIS7下WCF扩展配置问题
Nhibernate说明:
识别器(discriminator)
在"一棵对象继承树对应一个表"的策略中,
type="discriminator_type"(2)
force="true|false"(3)
insert="true|false" (4)
/>
(1) column (可选 - 默认为 class) 识别器字段的名字
(2) type (可选 - 默认为 String) 一个NHibernate字段类型的名字
(3) force (可选 - 默认为 false) "强制"NHibernate指定允许的识别器值,就算取得的所有实例都是根类的。
(4) insert (可选 - 默认为 true) 当识别器是被映射的组件的标识符的一部分时设置为false。
标识器字段的实际值是根据
force属性仅仅是在表包含一些未指定应该映射到哪个持久化类的时候才是有用的。这种情况不是经常会遇到。
转一下这篇,From:http://ttitfly.javaeye.com/blog/162766
关键字: hibernate中discriminator
tbl_user 是一张表。User是它一个po,NormalUser也是它的一个po,NormalUser继承于User,那么将User和NormalUser持久到数据库的tbl_user中,tbl_user是怎么区分的呢?tbl_user中有一个字段type,它是来区分的。
来看他们的映射文件:
Java代码
discriminator-value="2">
Java代码
discriminator-value="1">
当你用User时hibernate就会将tbl_user的type的值置为2,当你用NormalUser时hibernate就会将tbl_user的type的值置为1
这就区分了,而且不用你手动操作
今天出现这个异常,记录下,“Antlr.Runtime.NoViableAltException”,出现这个异常,首先请检查你的HQL语句是否有语法错误
另外贴一篇HQL,学习...
From:http://www.cnblogs.com/lyj/archive/2008/10/15/1312089.html
阅读这篇文章的其余部分
大家都在讨论关于数据库优化方面的东东,刚好参与开发了一个数据仓库方面的项目,以下的一点东西算是数据库优化方面的学习+实战的一些心得体会了,拿出来大家共享。欢迎批评指正阿!
SQL语句:
是对数据库(数据)进行操作的惟一途径;
消耗了70%~90%的数据库资源;独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低;
可以有不同的写法;易学,难精通。
SQL优化:
固定的SQL书写习惯,相同的查询尽量保持相同,存储过程的效率较高。
应该编写与其格式一致的语句,包括字母的大小写、标点符号、换行的位置等都要一致
ORACLE优化器:
在任何可能的时候都会对表达式进行评估,并且把特定的语法结构转换成等价的结构,这么做的原因是
要么结果表达式能够比源表达式具有更快的速度
要么源表达式只是结果表达式的一个等价语义结构
不同的SQL结构有时具有同样的操作(例如:= ANY (subquery) and IN (subquery)),ORACLE会把他们映射到一个单一的语义结构。
本文来自: [转] SQL优化心得
1 逻辑数据库和表的设计
数据库的逻辑设计、包括表与表之间的关系是优化关系型数据库性能的核心。一个好的逻辑数据库设计可以为
优化数据库和应用程序打下良好的基础。
标准化的数据库逻辑设计包括用多的、有相互关系的窄表来代替很多列的长数据表。下面是一些使用标准化
表的一些好处。
A:由于表窄,因此可以使排序和建立索引更为迅速
B:由于多表,所以多镞的索引成为可能
C:更窄更紧凑的索引
D:每个表中可以有少一些的索引,因此可以提高insert update delete等的速度,因为这些操作在索引
多的情况下会对系统性能产生很大的影响
E:更少的空值和更少的多余值,增加了数据库的紧凑性
由于标准化,所以会增加了在获取数据时引用表的数目和其间的连接关系的复杂性。太多的表和复杂的连接关系会降低服务器的性能,因此在这两者之间需要综合考虑。
定义具有相关关系的主键和外来键时应该注意的事项主要是:用于连接多表的主键和参考的键要有相同的数据类型。
sql又生疏了...
create table testsort(
a varchar,
b varchar,
c varchar)
--需要按照b,c排序,按照a来分组,b降序,c升序,每个A组里面取排序后的第一条记录
insert into testsort values('A','1','2');
insert into testsort values('A','3','2');
insert into testsort values('A','3','1');
insert into testsort values('B','3','2');
insert into testsort values('B','2','1');
insert into testsort values('C','1','2');
insert into testsort values('C','1','4');
select * from testsort;
select *, identity(int,1,1) as id
into #temp
from testsort order by a,b,c,id
select * from #temp;
select f.a,f.b,f.c from ( select a,max(id) as id from #temp as d group by d.a) as d --use minx(id) as you wish
left join #temp f on d.id=f.id
SQL的identity函数只有在select into时才可用;
DB2 的自增列函数 ROW_NUMBER() OVER() ;
本文来自: 多个字段排序的sql




