Tag: .net 4.5

组合多个表达式以动态创建包含表达式的select表达式作为getter

给出两个表达式的输入,例如: Expression<Func> nameExpression = x=>x.Name; Expression<Func> nameExpression = x=>x.MarketSegment.Name; 和a IQueryable query = ..//fetch from dbContext; 我想动态创建一个表达式,从查询中选择这些属性。 最终结果必须执行如下: Expression<IQueryable,IQueryable> query = query.Select(x=>new{ x=>x.Name, x=>x.MarketSegment.Name }); 我发现Expression.New可能是这个问题的一个选项,但我无法弄清楚如何将表达式传递给它。

在缩小javascript时,System.Web.Optimization会更改js文件的顺序

使用System.Web.Optimization缩小文件时,我观察到一种非常特殊的行为,我已经在使用IBundleOrderer ,当我没有缩小文件时,它可以很好地保存文件顺序 public class RespectGivenBundleOrder : IBundleOrderer { public IEnumerable OrderFiles(BundleContext context, IEnumerable files) { return files; } } public static void RegisterTestingBundle(BundleCollection bundles) { var bundle = new ScriptBundle(“~/OnTheMoveWebFiles/bundles/Testing”); bundle.Orderer = new RespectGivenBundleOrder(); bundle.Include( string.Format(“{0}jquery-{{version}}.js”, baseJSFolder), string.Format(“{0}ua-parser.js”, baseJSFolder), string.Format(“{0}OnTheMove_Core.js”, baseJSFolder), string.Format(“{0}OnTheMove_TheApplication.js”, baseJSFolder), string.Format(“{0}OnTheMove_JQMQueryString.js”, baseJSFolder), string.Format(“{0}OnTheMove_OfflineAuditing.js”, baseJSFolder), string.Format(“{0}OnTheMove_DatabaseManager.js”, baseJSFolder), string.Format(“{0}OnTheMove.js”, baseJSFolder), string.Format(“{0}OnTheMove_Offline.js”, baseJSFolder), string.Format(“{0}OnTheMove_DatabaseLoader.js”, baseJSFolder), […]

将HttpClient .NET 4.5的代码降级到.NET 4.0

我有这个代码在.NET 4.5中运行良好。 var handler = new HttpClientHandler(); handler.UseDefaultCredentials = true; handler.PreAuthenticate = true; handler.ClientCertificateOptions = ClientCertificateOption.Automatic; var client = new HttpClient(handler); client.BaseAddress = new Uri(“http://localhost:22678/”); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue(“application/json”)); var loginBindingModel = new LoginBindingModel { Password = “test01”, UserName = “test01” }; var response = await client.PostAsJsonAsync(“api/Account/Login”, loginBindingModel); response.EnsureSuccessStatusCode(); // Throw on error code. tokenModel = […]

动态创建一堆URL的动态zip

我正在尝试创建任意大小的zip文件。 zip存档的来源是一堆URL,可能很大(列表中有500个4MB JPG)。 我希望能够在请求中执行所有操作并立即开始下载,并在构建时创建zip并进行流式处理。 它不应该驻留在服务器的内存或磁盘上。 我最接近的是:注意:urls是文件名的URL的keyvaluepair,因为它们应该存在于创建的zip中 Response.ClearContent(); Response.ClearHeaders(); Response.ContentType = “application/zip”; Response.AddHeader(“Content-Disposition”, “attachment; filename=DyanmicZipFile.zip”); using (var memoryStream = new MemoryStream()) { using (var archive = new ZipArchive(memoryStream, ZipArchiveMode.Create, true)) { foreach (KeyValuePair fileNamePair in urls) { var zipEntry = archive.CreateEntry(fileNamePair.Key); using (var entryStream = zipEntry.Open()) using (WebClient wc = new WebClient()) wc.OpenRead(GetUrlForEntryName(fileNamePair.Key)).CopyTo(entryStream); //this doesn’t work […]

无法使ApplyCurrentValues(Entity)在Entity Framework 5中工作

同志们,任何人都可以帮助我,entity framework5似乎没有ApplyCurrentValues()方法。 是否有另一种方法来更新entity frameworkv5中的数据库对象。 这是我想要做的 odc.Accounts.Attach(new Account { AccountID = account.AccountID }); odc.Accounts.ApplyCurrentValues(account); odc.SaveChanges(); 但是我在ApplyCurrentValues()行中遇到了编译错误

任务不是垃圾收集

在下面的程序中,我希望任务能够得到GC,但事实并非如此。 我使用了一个内存分析器,它表明即使任务显然处于最终状态, CancellationTokenSource也会保存对它的引用。 如果我删除TaskContinuationOptions.OnlyOnRanToCompletion ,一切都按预期工作。 为什么会发生这种情况,我该怎么做才能防止它呢? static void Main() { var cts = new CancellationTokenSource(); var weakTask = Start(cts); GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); Console.WriteLine(weakTask.IsAlive); // prints True GC.KeepAlive(cts); } private static WeakReference Start(CancellationTokenSource cts) { var task = Task.Factory.StartNew(() => { throw new Exception(); }); var cont = task.ContinueWith(t => { }, cts.Token, TaskContinuationOptions.OnlyOnRanToCompletion, TaskScheduler.Default); ((IAsyncResult)cont).AsyncWaitHandle.WaitOne(); […]

Directory.GetFiles – 依赖于OS的不同输出

我有一个简单的程序。 它运行.NET 4.5并在Visual Studio 2013中构建。 D:\\MyDir充满了.xlsx文件,没有.xls文件。 当我在Windows 8.1 x64上运行该程序时, *.xls的filter不返回任何结果。 当我运行相同的程序,在Windows 7 x86上使用相同的.NET版本时, *.xlsfilter返回与*.xlsxfilter相同的结果。 两个系统上的测试文件夹肯定包含相同的数据。 我错过了什么,或者这是.NET和/或Windows中的错误? 各自的代码: using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace throw_test { static class Program { static void Main() { int fileCount1 = Directory.GetFiles(“D:\\MyDir”, “*.xlsx”).Length; int fileCount2 = Directory.GetFiles(“D:\\MyDir”, “*.xls”).Length; Console.WriteLine(“File Count 1: […]

如何启动EF6异步中的实体存储过程而不等待返回?

我想直接调用SQL Server而不是等待返回。 我有一个来自存储过程的导入实体函数,我想在Entity Framework 6.0.0-rc1中以这种方式异步调用。 这可能吗? 语法是什么? Entity Function: RecalculateBudgetNumbers(int id)

使用图像+文本设置WPF按钮的样式

在我的C#/ WPF / .NET 4.5应用程序中,我有按钮,其中包含以下列方式实现的图像: save 我有一个资源字典UIStyles.xaml ,其中我声明了以下内容: 光标,高度,边框等属性工作正常,但我无法设置TextBlock和Image样式。 具体来说,需要看起来像这样: 结束看起来像这样(忽略色差): 我之前看到过类似的问题 ,但是解决方案使用了不同的方法(我不想创建自定义用户控件,除了这个之外,我的所有需求都包含在当前代码中,重写将是一件麻烦事)。 我只需要修复我的Style ,使TextBlock居中, Image居中并缩小。 如何重新编写Style以更正按钮的外观?

.NET 4.5异步等待和重载方法

我有一个异步方法: public async Task LoginExAsync(CustomTable exRequest, string language, bool throwEx = true) { UserLoginExResult result = await UserService.LoginExAsync(UserGroup, language, TimezoneOffset, GetDeviceInfo(), GetLoginProperties(), exRequest); ProcessLoginResult(result, false, throwEx); return result; } 过载: public Task LoginExAsync(CustomTable exRequest, bool throwEx = true) { return LoginExAsync(exRequest, Language.ID, throwEx); } 我不确定是否应该将重载的(参数较少的那个)标记为async并使用await ? 我想我不应该但是你能告诉我如果我这样做会发生什么事吗? 我在这里迷失了,并不确定它会等待什么Task ? 它会创建一个额外的Task还是await不创建新Task ?