Tag: C#的

需要将asp.net webapi 2请求和响应正文logging到数据库中

我正在使用IIS上托pipe的Microsoft Asp.net WebApi2。 我非常简单地希望logging每个post的请求正文(xml或json)和响应正文。 这个项目或者处理邮件的控制者没有什么特别之处。 我不感兴趣的使用日志框架,如nLog,elmah,log4net,或webapi的内置跟踪function,除非有必要这样做。 我只是想知道在哪里把我的日志logging代码,以及如何从传入和传出的请求和响应得到实际的JSON或XML。 我的控制器发布方法: public HttpResponseMessage Post([FromBody])Employee employee) { if (ModelState.IsValid) { // insert employee into to database } }

C#5.0的asynchronous等待function与TPL有什么不同?

我没有看到C#的(和VB的)新的asynchronousfunction和.NET 4.0的任务并行库之间的不同 。 以Eric Lippert的代码为例: async void ArchiveDocuments(List<Url> urls) { Task archive = null; for(int i = 0; i < urls.Count; ++i) { var document = await FetchAsync(urls[i]); if (archive != null) await archive; archive = ArchiveAsync(document); } } 看起来await关键字有两个不同的用途。 第一次出现( FetchAsync )似乎意味着: “如果此值稍后在方法中使用,且其任务未完成,请等到它完成后再继续。 第二个例子( archive )似乎意味着: “如果这个任务尚未完成,请立即等待,直到完成。” 如果我错了,请纠正我。 难道不能像这样轻松地写出来吗? void ArchiveDocuments(List<Url> urls) { for(int […]

如何显示DisplayAttribute.Description属性值?

我有一个模型类,像这样的属性: [Display(Name = "Phone", Description="Hello World!")] public string Phone1 { get; set; } 在我的视图中显示一个标签并渲染一个文本框是非常简单的: @Html.LabelFor(model => model.Organization.Phone1) @Html.EditorFor(model => model.Organization.Phone1) @Html.ValidationMessageFor(model => model.Organization.Phone1) 但是,如何呈现Description注释属性的值,即“Hello World!”?

关于'main(int argc,char * argv )'

可能重复: main()的参数是什么? int argc,char * argv []是什么意思? 每个程序都以main(int argc, char *argv[])定义开始。 我不明白这是什么意思。 如果有人能够解释为什么我们不使用这些参数,我会很高兴。 为什么不只是: int main() ? 程序的名称是*argv[]和argc一个元素是*argv[]的参数个数的计数吗? 发送给*argv[]的其他参数是什么? 我们如何发送?

DbSet.Attach(实体)与DbContext.Entry(实体).State = EntityState.Modified

当我在一个独立的场景,并从我映射到一个实体来保存它的客户端得到一个dto我这样做: context.Entry(entity).State = EntityState.Modified; context.SaveChanges(); 那么什么是DbSet.Attach(entity) 或者为什么当EntityState.Modified已经附加实体时应该使用.Attach方法?

编译器没有检测到明显的未初始化的variables

我试过的所有C编译器都不会在下面的代码片段中检测到未初始化的variables。 然而这种情况在这里很明显。 不要担心这个片段的function。 这不是真正的代码,为了调查这个问题,我把它剥离了下来。 BOOL NearEqual (int tauxprecis, int max, int value) { int tauxtrouve; // Not initialized at this point int totaldiff; // Not initialized at this point for (int i = 0; i < max; i++) { if (2 < totaldiff) // At this point totaldiff is not initialized { totaldiff = 2; […]

F#在“使用绝对没有意义”的地方?

Don Syme在他的SPLASH演讲中表示,F#不是为了替代C#,即使它具有一般的function。 他继续说,有些地方F#在使用上没有意义,但没有扩大论文。 有人可以告诉我什么地方应该避免使用F#? 你也可以提到C#闪耀的领域。 相关问题: 在哪些地方使用F#比C#更合适?

为什么我更喜欢使用vector来检测

以来 他们都是连续的记忆容器; 特征明智,deque几乎所有的vector,但更多,因为它是更有效的插入在前面。 为什么有人更喜欢std::vector到std::deque ?

如何从单独的string(安全)build立一个完整的pathstring?

C ++有没有等同于python的函数os.path.join ? 基本上,我正在寻找将文件path的两个(或多个)部分结合在一起的东西,以便您不必担心确保两个部分完美地结合在一起。 如果是Qt,那也会很酷。 基本上我花了一个小时来debugging一些代码,至less部分代码是因为root + filename必须是root/ + filename ,我期望在将来避免这种情况。

System.InvalidOperationException:无法生成临时类(结果= 1)

我已经使用.net 3.5开发了一个应用程序,并且已经将它作为一个.exe文件在具有相同环境的多台机器上进行了部署。 但是,在一台特定的机器上,我得到以下错误。 堆栈跟踪: 有关调用实时(JIT)debugging的详细信息,请参阅此消息的结尾,而不是此对话框。 System.InvalidOperationException: Unable to generate a temporary class (result=1). error CS2001: Source file 'C:\WINDOWS\TEMP\wz58eig4.0.cs' could not be found error CS2008: No inputs specified at System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence) at System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, XmlSerializerCompilerParameters parameters, Assembly assembly, Hashtable assemblies) at System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] […]