如何通过WebApi上传图像

如何通过ASP.NET Web API上传图像文件? 我在文件模式下有一个输入标签,它发布到API,我如何将其保存到服务器文件夹 我尝试了这段代码但是没有用: private void UploadWholeFile(HttpRequestBase request) { for (int i = 0; i < request.Files.Count; i++) { var file = request.Files[i]; var ext = new FileInfo(file.FileName).Extension; var fullPath = Path.Combine(StorageRoot, Path.GetFileName(Guid.NewGuid() + ext)); file.SaveAs(fullPath); } }

C#中的非线性回归

我正在寻找一种基于2D数据集生成非线性(最好是二次)曲线的方法,用于预测目的。 现在我正在使用我自己的普通最小二乘(OLS)实现来产生线性趋势,但我的趋势更适合曲线模型。 我正在分析的数据是系统负载随着时间的推移。 这是我用来生成线性系数的等式: 我已经看过Math.NET Numerics和其他一些库,但它们要么提供插值而不是回归 (这对我来说没用),或者代码不能以某种方式工作。 任何人都知道任何可以产生这种曲线系数的免费开源库或代码示例吗?

C#的非接口依赖模拟框架

我是嘲笑的新手,所以我可能在这里完全错了,但我相信大多数模拟框架都依赖于接口。 不幸的是,我们的大部分代码都没有使用接口。 前几天,我在Java中看到了一个Mocking框架,它重现了类\ object的字节代码,而不是调用它的内部方法,但你仍然可以测试它是否正在调用这些方法。 我的问题是:.Net有没有可以做类似事情的模拟框架? 我正在寻找一些免费的东西,我不想要一些需要虚拟或抽象方法的东西。

我可以在.net 4中部署我的ASP.NET MVC 4应用程序

我想知道ASP.NET MVC 4应用程序可以在.NET 4服务器上运行的东西。 我正在尝试部署我的MVC4应用程序,我得到了错误。 500内部服务器错误。 您正在查找的资源存在问题,无法显示。 我的目标是.net 4框架,但我仍然有这个错误。 我不确定服务器会发生什么。 我试图查看其他post,但我没有找到任何可以清除MVC 4可以在.net服务器上运行的post。

Linq集团通过查询

试图找出一个linq查询,并想知道你们是否可以提供帮助。 我有一个对象列表foo ,每个foo对象都有一个bar列表。 bar具有活动日期和数值。 例如 foo bar -> 01/02/05, 10000 bar -> 04/06/10, 30023 foo bar -> 30/01/02, 23494 我想编写一个linq查询,它将返回一个明确的日期列表和该日期的总计 这可能是周五,但我正在画一个空白。 提前致谢

如何从除创建它之外的线程读取combobox?

我试图从一个线程读取一个combobox.Text而不是它创建的线程,但我收到错误: System.Windows.Forms.dll中发生了未处理的“System.InvalidOperationException”类型exception 附加信息:跨线程操作无效:控制’levelsComboBox’从其创建的线程以外的线程访问。 我之前使用过.Invoke但只是设置属性,我怎样才能用它来读取combobox.Text? 因为.Invoke返回void,我需要一个字符串。 或者没有Invoke有另一种方法吗?

与BeginGetRequestStream / EndGetRequestStream的TaskFactory.FromAsync挂起

我有一个像这样的方法,在使用Task.Factory.FromAsync()声明responseObject时挂起 private async Task post(string url, string postdata) { var request = WebRequest.Create(new Uri(url)) as HttpWebRequest; request.Method = “POST”; // this works Task requestStream = Task.Factory.FromAsync(request.BeginGetRequestStream, request.EndGetRequestStream, request); var sw = new StreamWriter(requestStream.Result); byte[] data = Encoding.UTF8.GetBytes(postdata); await requestStream.Result.WriteAsync(data, 0, data.Length); // this hangs Task responseObject = Task.Factory.FromAsync(request.BeginGetResponse, request.EndGetResponse, request); // Hangs here // Doesn’t […]

使用LINQ ExpressionVisitor将基本参数替换为lambda表达式中的属性引用

我正在为我们系统的一部分编写数据层,该数据层记录有关每天运行的自动作业的信息 – 作业名称,运行时间,结果,等等。 我正在使用Entity Framework与数据库交谈,但我试图将这些细节隐藏在更高级别的模块之外,我不希望实体对象本身被暴露。 但是,我想使我的界面在用于查找工作信息的标准中非常灵活。 例如,用户界面应允许用户执行复杂的查询,例如“给我所有名为’hello’的作业,该作业在上午10:00到11:00之间运行失败。” 显然,这看起来像是动态构建的Expression树的工作。 所以我希望我的数据层(存储库)能够接受类型为Expression<Func> (lambda表达式)的LINQ表达式,然后在后台转换该lambda表达式,我的Entity Framework ObjectContext可以用作Where()子句中的filter。 简而言之,我正在尝试将Expression<Func>类型的lambda表达式转换为Expression<Func> ,其中svc_JobAudit是Entity Framework数据对象,对应于存储作业信息的表。 (第一个委托中的四个参数分别对应于作业名称,运行时间,结果以及分别在MS中花费的时间) 我使用ExpressionVisitor类取得了很好的进展,直到我碰到一堵砖墙并收到带有此错误消息的InvalidOperationException : 从“VisitLambda”调用时,重写“System.Linq.Expressions.ParameterExpression”类型的节点必须返回相同类型的非null值。 或者,覆盖“VisitLambda”并将其更改为不访问此类型的子项。 我完全不知所措。 为什么它不会允许我将引用参数的表达式节点转换为引用属性的节点? 还有另一种方法可以解决这个问题吗? 以下是一些示例代码: namespace ExpressionTest { class Program { static void Main(string[] args) { Expression<Func> expression = (myString, myDateTime, myResultCode, myTimeSpan) => myResultCode == ResultCode.Failed && myString == “hello”; var result = ConvertExpression(expression); } […]

在.NET / BCL源代码中混淆注释“string.Empty”的含义?

我试图理解为什么string.Empty是readonly而不是const 。 我看过这篇post,但我不明白微软写的关于它的评论。 正如Jon Skeet在评论中写道 : “我不知道 – 对我来说这没有多大意义,说实话……” 共享源公共语言基础结构2.0版本 。 string.cs位于sscli20 \ clr \ src \ bcl \ system \ string.cs中 // The Empty constant holds the empty string value. //We need to call the String constructor so that the compiler doesn’t mark this as a literal. //Marking this as a literal would mean […]

为什么我的Windows服务启动csc.exe实例?

我在C#中编写了一个multithreading的Windows服务。 出于某种原因,每次生成线程时都会启动csc.exe。 我怀疑它与线程本身有关,但事实上它是在每个线程的基础上发生的,并且这些线程是短暂的,这使问题非常明显:许多csc.exe进程不断启动和停止。 性能仍然相当不错,但我希望如果我能消除它,它会有所改善。 但是,更令我担心的是McAfee正在尝试扫描csc.exe实例并最终杀死该服务,显然当一个实例在扫描中期退出时。 我需要商业部署此服务,因此更改McAfee设置不是解决方案。 我假设我的代码中的某些东西正在触发动态编译,但我不确定是什么。 其他人遇到这个问题? 任何解决它的想法? 更新1: 在根据@sixlettervariables的建议和链接进行进一步研究后,问题似乎源于XML序列化的实现,如Microsoft的XmlSerializer文档中所示: 为了提高性能,XML序列化基础结构动态生成程序集以序列化和反序列化指定的类型。 Microsoft在同一个文档中进一步说明了优化: 基础结构查找并重用这些程序集。 仅当使用以下构造函数时,才会出现此问题: XmlSerializer.XmlSerializer(类型) XmlSerializer.XmlSerializer(Type,String) 这似乎表明只要使用了两个指定的构造函数之一,codegen和编译在第一次使用时只会发生一次。 但是,我没有从这个优化中受益,因为我正在使用另一种forms的构造函数,具体来说: public XmlSerializer(Type type,Type [] extraTypes) 进一步阅读,事实certificate,这也恰好是我在代码执行时观察到的内存泄漏的可能解释。 同样,来自同一个文档: 如果使用任何其他构造函数,则会生成同一程序集的多个版本,并且永远不会卸载,这会导致内存泄漏和性能下降。 最简单的解决方案是使用前面提到的两个构造函数之一。 否则,您必须将程序集缓存在Hashtable中。 微软建议的两个解决方法对我来说是最后的手段。 转到另一种forms的构造函数不是首选(我使用“extratypes”forms来序列化派生类,这是每个Microsoft的文档支持使用),我不确定我喜欢管理缓存的想法用于跨多个线程的程序集。 因此,我有sgen ‘,并且看到生成的类型序列化程序的组合按预期生成,但是当我的代码执行时,未加载sgen生成的程序集(在Fusion日志查看器和进程监视器中进行观察)。 我正在探索为什么会这样。 更新2: 当我使用两个“友好的”XmlSerializer构造函数之一时,sgen’d程序集加载正常(参见上面的Update 1)。 例如,当我使用XmlSerializer(Type) ,sgen’d程序集加载并且不执行运行时codegen /编译。 但是,当我使用XmlSerializer(Type, Type[]) ,程序集不会加载。 找不到任何合理的解释。 所以我正在恢复使用其中一个受支持的构造函数和sgen’ing。 这种组合消除了我的原始问题(启动csc.exe),以及另一个相关问题(上面的Update 1中提到的XmlSerializer引起的内存泄漏)。 但是,它确实意味着我必须为派生类型(在基类型上使用XmlInclude )恢复到不太理想的序列化forms,直到框架中的某些更改来解决这种情况。