我有一个HQL查询,可以生成IList结果,或IEnumerable结果.
但是,我希望它返回我正在选择的实体数组,实现它的最佳方法是什么?我可以通过它枚举并构建数组,或者使用CopyTo()定义的数组.
有没有更好的方法?我选择了CopyTo方法.
我们有一个围绕MonoRail和NHibernate构建的ASP.NET应用程序,我注意到在使用64位模式或32位模式运行它时会出现奇怪的行为.所有内容都编译为AnyCPU,并且在两种模式下运行良好,但内存使用情况有很大差异.
查看ANTS的以下快照:
32bit_snapshot: 
VS
64bit_snapshot: 
两个快照的使用场景几乎相同(我在两次运行中都点击了相同的页面).
首先,为什么未使用的内存在64位模式下如此之高?为什么非托管内存在64位模式下的大小是4倍?
任何有关这方面的见解都会非常有帮助.
我有一个从损坏的数据库中取出的数据库转储,我需要将其导入到干净的安装中.但是,原始数据库似乎已设置为使用utf8_unicode_ci.
将此转储导入干净数据库时,将使用默认的utf8_general_ci创建所有数据库,这会为我提供重复的单词条目,包括ß,因为一般会生成'ß' == 's',而utf8_unicode_ci应该具有'ß' == 'ss'.
但是,当导入mysql时,似乎总是在创建表时选择默认的utf8_general_ci,即使我将数据库(schema)默认设置为utf8_unicode_ci.
有没有办法强制它使用utf8_unicode_ci创建表而不必在我的转储中注入alter table语句?它的大小是几GB,手动修改会很痛苦.
配置MySQL系统范围很好.
我尝试过设置:
collation-server=utf8_unicode_ci
在my.cnf中,但似乎没有设置表创建的默认排序规则.
我正在解决一个问题,当我使用GDI操作它时,我调整大小的图像会失去颜色饱和度.
我正在加载JPG作为原始版本,调整大小并且生成的图像的饱和度(颜色强度)比原始图片少得多.我该怎么做才能改善这一点?这是我的代码:
using ( var original = System.Drawing.Image.FromStream( new MemoryStream( image.RawData ) ) )
{
using ( var dst = new Bitmap( width, height, PixelFormat.Format32bppArgb ) )
{
using ( var g = Graphics.FromImage( dst ) )
{
g.SmoothingMode = SmoothingMode.HighQuality;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
g.CompositingQuality = CompositingQuality.HighQuality;
g.DrawImage( original, 0, 0, dst.Width, dst.Height );
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.DrawImage( original, 0, 0, dst.Width, dst.Height );
var jpgEncoder = GetEncoder( ImageFormat.Jpeg );
var myEncoderParameters = new EncoderParameters( 1 );
var quality = … 在我的nhibenate会话中,我使用AutoMapper映射对象,并在afterMap操作中创建对象的新实例,因为我从数据库中提取对象以进行属性比较.因此,AutoMapper创建一个具有相同ID的对象的两个实例.当我尝试提交会话时,我得到错误,我必须使用相同的ID对象.
所以我想在属性比较后断开我提取的对象.之后我会提交会议
我怎么做的?
谢谢!
我一直试图找出一种方法,使wget只创建一个文件,如果实际的下载响应是有效的,这意味着没有404或500状态代码,只有200.
但是,当使用-O选项(指定文件名)时,它将始终使用错误页面的内容创建文件,并且我没有找到一种方法来指定它应该忽略它,如果它收到404响应 - 头.
我是否需要检查退出代码并管道输出,还是有更好的选择?
我正在尝试从NH 3.0 Cookbook中获取一些代码,并想知道为什么我无法获得下面的代码来编译.我认为应该使这个工作的QueryProjectionBuilder在"NHibernate.Criterion.Lambda"中,但它的using指令没有帮助.
问题是SelectGroup和SelectAvg部分.假设书中的语法是正确的,那么有人可以看到缺少的参考吗?
namespace Queries.Implementations
{
using System;
using System.Collections.Generic;
using System.Linq;
using Eg.Core;
using NHibernate;
using NHibernate.Criterion;
using NHibernate.Criterion.Lambda;
public class QueryOverQueries : CookbookQueriesBase
{
public override IEnumerable<NameAndPrice> GetAvgDirectorPrice(ISession session) {
return _session.QueryOver<Movie>()
.Select(list => list
.SelectGroup(m => m.Director)
.SelectAvg(m => m.UnitPrice)
)
.List<object[]>()
.Select(props =>
new NameAndPrice
{
Name = (string) props[0],
Price = (decimal) props[1]
});
}
}
}
Run Code Online (Sandbox Code Playgroud) 两者之间有什么区别:
HttpUtility.UrlEncode("some string with é and ? and stuff")
HttpUtility.UrlEncode("some string with é and ? and stuff", Encoding.UTF8)
HttpUtility.UrlEncode( "some string with é and ? and stuff", Encoding.Default )
Run Code Online (Sandbox Code Playgroud)
结果是:
some+string+with+%c3%a9+and+%ce%b2+and+stuff
some+string+with+%c3%a9+and+%ce%b2+and+stuff
some+string+with+%e9+and+%df+and+stuff
Run Code Online (Sandbox Code Playgroud)
在测试时,我得到前两个相同的结果,所以我可以安全地假设UTF8是默认值,除非指定,或者可以在不同的系统上有所不同吗?
我有一些unicode转义序列的示例,如下所示:
%u00e9(é)
相当确定paypal在他们的IPN请求中发送了它.为什么.NET不像这样编码?
以下是我的代码
相同的代码在本地服务器中工作,但不在实时.
htmlC = "";
htmlC += '<select name="pagenum" id="pagenum" style="width:135px" onChange="setPageSearchValue(this.value)">';
for(i=1 ; i<=tot_pages ; i++)
{
if(i.toString() == document.frmlist.start.value)
{
htmlC += "<option value='"+i+"' 'selected' >"+i+"</option>";
}
else
{
htmlC += "<option value='"+i+"'>"+i+"</option>";
}
}
htmlC += '</select>';
Run Code Online (Sandbox Code Playgroud)
我试过找到无限循环但没有成功.完全相同的代码在本地服务器中工作.
我正在创建一个将返回json对象的WCF Web服务,但是当我尝试进行AJAX调用时,我仍然遇到400错误请求错误:
OPTIONS http://localhost:55658/WebServiceWrapper.svc/GetData?_=1318567254842&value=97 HTTP/1.1
Host: localhost:55658
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
DNT: 1
Connection: keep-alive
Origin: http://localhost:3000
Access-Control-Request-Method: GET
Access-Control-Request-Headers: content-type
HTTP/1.1 400 Bad Request
Server: ASP.NET Development Server/10.0.0.0
Date: Fri, 14 Oct 2011 04:40:55 GMT
X-AspNet-Version: 4.0.30319
Cache-Control: private
Content-Length: 0
Connection: Close
Run Code Online (Sandbox Code Playgroud)
这是我的AJAX调用:
$.ajax({
contentType: 'application/json',
url: 'http://localhost:55658/WebServiceWrapper.svc/GetData',
dataType: 'json',
data: {
value: 97
},
success: function (data) {
alert('success' + data);
},
error: …Run Code Online (Sandbox Code Playgroud) 我有一个用.NET编写的web应用程序,它使用CookComputing.XmlRpcV2进行xmlrpc通信.
当我在Visual Studio 2008中调用我的单元测试时,fiddler2成功捕获了实际的xmlrpc-requests,但是当我在IIS7下运行实际的应用程序时,它什么也没显示.我已经验证它实际上是在我的防火墙中调用xmlrpc-requests,但我需要查看请求的内容以进行调试.
我已经发布了一个运行fiddler的iisreset,试图看看IIS是否真的在应用程序启动时从WinINET获取代理设置,但它没有帮助.
IIS是否拥有每个应用程序自己的代理设置?或者,如果它是ASP.NET的一部分...我似乎无法找到任何有关它的信息.
我当然可以在代码中以某种方式在WebRequest中定义我自己的代理服务器,但由于我只是想利用代理进行调试,我宁愿找到一个更简单的解决方案.
这是Vista,运行带有.NET 3.5 SP1的iis7.Fiddler2版本2.1.9.2
我有一个包含动态js脚本的页面,具体取决于我正在访问的页面.但是,我从一些IE8访问者的日志中得到错误,看起来实际的请求 - url完全被破坏了所提到的脚本.
这是应该取的:
<script type="text/javascript" src="?partial=filterjs&json=true&viewall"></script>
转换为/ sv/5/outlet?partial = filterjs&json = true&viewall
但是,查看我的日志,我看到的内容如下:
/sv/5/outlet?partial=filterjs&json=truepor</a></li></ul></h2></li><li%20class=
/sv/7/jackor?partial=filteent/view/teams
Run Code Online (Sandbox Code Playgroud)
它似乎截断了url,并在稍后出现的实际标记中附加了随机内容(事实上,虽然大约在相同的偏移处)
我首先想到它与IE8实现的新XSS过滤器有关,但尝试使用HTTP-header禁用它
X-XSS-Protection: 0
没有成功.
我也无法在自己的机器上重现此错误,但这种情况每天发生几次(在每天约3000次访问的网站上).根据用户代理(NT 5.1,6.0和6.1),这在XP,Vista和Win7上都会发生.
有人认出这种行为吗?