Tag: .net 4.5

如何在后台运行非必要的计算?

这个问题是为什么这个代码同步运行? 。 我意识到我的真​​实问题比那篇文章中的问题更高。 我现在要问的问题是“我该如何做到这一点?” 我想在C#中使用并发来计算后台的东西。 我有类ptsTin,它代表现有的地面。 我想尽快加载。 有些工作是必不可少的,因为在工作完成之前你没有实例。 例如,直到.LoadPoints()和.LoadTriangles都完成后才会有ptsTin实例。 工作的其他部分不是必需的,可以在以后计算,即使以后是0.2秒。 我想在一个新的线程中开始非必要的工作而忘记它。 如果它正在处理的值尚未就绪,则该值将为null。 所以这就是我想做的事情。 代码现在位于控制台应用程序中,但有一天会在GUI应用程序中。 注意,这是伪代码 。 我知道它不会像这样工作,它的目的是传达我想知道如何做的事情: static void Main(string[] args) { var myTin = ptsDTM.Load(“SomeFile.ptsTin”); // Do other stuff here like getElevationAtAPoint(); } public static ptsTin Load(String file) { // Essential Work ptsTin newTin = new ptsTin(); newTin.LoadPoints(file); newTin.LoadTriangles(file); // At this point I […]

.NET 4.5 HttpClient请求ServicePoint

到目前为止我一直用到: HttpWebRequest request = (HttpWebRequest)WebRequest.Create(targetUri); do the request …………….. request.ServicePoint. 现在我想使用.net 4.5中的新HttpClient,我不知道如何访问ServicePoint属性。 任何想法如何使用HttpClient访问ServicePoint?

启用本机代码调试时,AccessViolationException消失

当我在Windows 7 x64上的Visual Studio 2012中运行Google Drive API示例时,我收到了AccessViolationException 。 我的项目目标是.Net 4.5。 我在第185行得到了例外: await service.Files.Delete(file.Id).ExecuteAsync(); 它发生在调试和发布模式以及所有平台(x86,x64,AnyCPU)中。 当我在没有附加调试器的情况下运行时(“不启动调试”),它不会发生。 当我在Project属性中启用“启用本机代码调试”时,不会发生这种情况。 为什么启用本机代码调试可能会阻止exception? 注意:运行示例需要NuGet包(预发布): Google.Apis.Drive.v2 编辑:我希望谷歌的人会插话并告诉他们是否也看过这个,因为示例说明说: 使用Visual Studio打开Goog​​leApisSamples.sln 单击Build> Rebuild Solution 在Drive.Sample \ bin \ Debug中执行.exe 这很奇怪,因为他们直接从调试文件夹中执行exe而不是只是说“运行示例”。

Window AllowTransparency = true时WPF硬件加速了吗?

我一直在寻找在WPF中制作自己的窗口框架,类似于Visual Studio。 我已经读过,设置AllowsTransparency = true会强制WPF以软件模式呈现。 这个例子是我混淆的原因(强调我的),其中指出: 仅当AllowTransparency设置为“True”时,才能完成WPF窗口的自定义, 这会导致窗口是软件渲染的,可能没有那么快的GPU渲染。 但是,我在其他地方读过,使用窗口分层 可以实现硬件加速,这就是WPF所做的。 我也很难想象Visual Studio 2013–它的自定义框架和透明边框模糊 – 将是软件渲染的。 这个问题是否有确定的答案(假设Windows 7以上), 当Window AllowsTransparency为真时 , WPF硬件加速吗?

Directory.GetCurrentDirectory()根据命令行参数返回不同的结果

我希望有人可以解释为什么Directory.GetCurrentDirectory()根据我将命令行参数传递给应用程序的方式返回不同的结果(使用args运行vs在app.exe上拖动文件夹) 要直接进入它,请考虑以下代码: public class Program { static void Main(string[] args) { Console.WriteLine(“The current directory is {0}”, Directory.GetCurrentDirectory()); if(args != null && args.Any()) Console.WriteLine(“Command line arguments are {0}”, String.Join(“, “, args)); Console.ReadLine(); } } 如果使用命令提示符构建并运行它,如下所示,则输出就是您所期望的。 它将输出应用程序所在的当前目录。 C:\Projects\ArgumentTest\ApplicationA\bin\Debug\ApplicationA.exe C:\mydirectory The current directory is C:\Projects\ArgumentTest\ApplicationA\bin\Debug\ Command line arguments are C:\mydirectory 如果通过在应用程序上拖动文件或文件夹来构建和运行此程序,则会得到不同的结果。 而不是返回预期的结果而不是Directory.GetCurrentDirectory()返回您在应用程序上拖动的第一个文件的路径。 我现在已经解决了这个问题,但我很想知道为什么会这样。 其他信息: .NET 4.5 Windows 2012R2(虚拟机) […]

是否有一种简单的方法来获取.NET为参数化查询生成的“sp_executesql”查询?

背景: 如果我有以下程序 public class Program { public static void Main() { using(var connection = new SqlConnection(“Server=(local);Database=Testing;Trusted_Connection=True”)) using (var command = connection.CreateCommand()) { connection.Open(); command.CommandText = “UPDATE Foo set Bar = @Text”; command.Parameters.Add(“@Text”, SqlDbType.VarChar, 50).Value = “Hello World!”; command.ExecuteNonQuery(); } } } 执行时,运行以下查询(根据SQL Server Profiler) exec sp_executesql N’UPDATE Foo set Bar = @Text’,N’@Text varchar(50)’,@Text=’Hello World!’ 我的问题: […]

Thread.CurrentPrincipal已经过身份validation,但ClaimsPrincipal.Current不是

我在我的WebApi项目中使用基于声明的授权,并且有一种方法可以检查当前身份是否经过身份validation。 当我使用ClaimsPrincipal.Current ,当前的身份未经过身份validation,但是当我使用Thread.CurrentPrincipal它就是。 ClaimsPrincipal.Current.Identity.IsAuthenticated; //False Thread.CurrentPrincipal.Identity.IsAuthenticated; //True 这看起来很奇怪,特别是因为MSDN说 ClaimsPrincipal.Current只返回Thread.CurrentPrincipal: 备注 默认情况下,返回Thread.CurrentPrincipal。 您可以通过设置ClaimsPrincipalSelector属性来指定要调用的委托来确定当前主体,从而更改此行为。 有人可以解释一下为什么ClaimsPrincipal未经过身份validation,而理论上两者都包含相同的身份吗?

SQLite.NET – System.NotSupportedException:无法编译:参数

我在Xamarin iOS项目中使用SQLite.NET Async( http://www.nuget.org/packages/SQLite.Net.Async-PCL/ ),但我在使用表谓词查询时遇到问题。 无论何时我使用下面的Get方法,这很简单,我收到一个exception,表达式无法编译,System.NotSupportedException:无法编译:参数。 但是,如果我使用低级查询,就像使用GetQuery方法一样,它可以正常工作。 在我的表的定义或阻止sqlite.net编译表达式的方法中,我做错了吗? public interface IDataModel { [PrimaryKey, AutoIncrement] int Id { get; set; } } public class BaseDataModel : IDataModel { [PrimaryKey] public virtual int Id { get; set; } } [Table(“Event”)] public class EventDataModel : BaseDataModel { public string Name { get; set; } public int OrganizationId { […]

要运行此应用程序,首先必须安装.Net 4.5

我有一个我在VS2012中创建的wpf项目,但我现在正试图破解VS2010。 在csproj文件中,我删除了“必需的版本”。 我可以在VS2010中打开项目,我也可以编译它,但如果我尝试运行它,我会收到’needs v4.5’消息。 我尝试删除所有引用并再次添加它们:仍然编译(因此所有依赖项应该在我的(XP)机器上)。 我还应该在哪儿看?

ServiceStack Ormlite:System.InvalidProgramException JIT编译器遇到内部限制

嗨,我正在使用Ormlite运行ServiceStack,我遇到了这个错误。 以前它工作正常。 我不确定我改变了什么导致了这个错误。 我刚刚使用了一个简单的db.Select()调用,它会抛出此错误。 我尝试了各种方法,比如更新nuget包,清理和重建项目等,但它们都不起作用。 System.InvalidProgramException was caught _HResult=-2146233030 _message=JIT Compiler encountered an internal limitation. HResult=-2146233030 IsTransient=false Message=JIT Compiler encountered an internal limitation. Source=ServiceStack.OrmLite StackTrace: at ServiceStack.OrmLite.OrmLiteConfig.get_ExecFilter() at ServiceStack.OrmLite.ReadConnectionExtensions.Exec[T](IDbConnection dbConn, Func`2 filter) at ServiceStack.OrmLite.ReadConnectionExtensions.Select[T](IDbConnection dbConn, Expression`1 predicate) InnerException: 任何人都可以建议可能出错的地方?