小编liu*_*gbo的帖子

Json.NET禁用DateTime上的反序列化

这是代码:

        string s = "2012-08-08T01:54:45.3042880+00:00";

        JObject j1 = JObject.FromObject(new
        {
            time=s
        });

        Object o = j1["time"];
Run Code Online (Sandbox Code Playgroud)

我们可以检查o是否为字符串并等于"2012-08-08T01:54:45.3042880 + 00:00"

现在我们将j1.ToString()转移到另一个程序,即

       {
          "time": "2012-08-08T01:54:45.3042880+00:00"
       }
Run Code Online (Sandbox Code Playgroud)

然后在另一个程序中,尝试将其解析回JObject,即

       JObject j2 = JObject.Parse(j1.ToString());

       Object o2 = j2["time"];
Run Code Online (Sandbox Code Playgroud)

现在,如果我们检查o2,o2的类型是Date,o2.ToString()是8/7/2012 9:54:45 PM.

我的问题是:

有没有办法禁用JObject.Parse的日期反序列化,只是获取原始字符串?

提前致谢

c# datetime json.net deserialization

51
推荐指数
2
解决办法
1万
查看次数

我可以在实体框架中使用dapper-dot-net吗?

我正在尝试使用dapper-dot-net来加速我的asp.net mvc应用程序的某些区域.我也首先使用EF5代码.

由于dapper-dot-net只是IDbConnection的一些扩展,我可以使用

DbContext.Database.Connection 
Run Code Online (Sandbox Code Playgroud)

用dapper-dot-net?我测试它是否有效.但是,我不确定这是使用它的正确方法吗?特别是,当我使用这种方式时,Entity Framework是否会产生一些可能会影响性能的影响?

performance entity-framework dapper

14
推荐指数
2
解决办法
7944
查看次数

如何在Asp.net MVC Web Api控制器中访问应用程序对象

我知道在Asp.net MVC控制器中,我们可以像这样访问应用程序:

HttpContext.Application["AppVar"]
Run Code Online (Sandbox Code Playgroud)

但是在Web api控制器中,没有HttpContext,如何访问应用程序对象呢?

asp.net-mvc asp.net-web-api

9
推荐指数
1
解决办法
1万
查看次数

在C#中使用命名空间系统声明可以省略吗?

这是我从aspnetwebstack获得的示例代码

http://aspnetwebstack.codeplex.com/SourceControl/latest#src/System.Web.Mvc/Html/MvcForm.cs



using System.Diagnostics.CodeAnalysis;
using System.Web.Mvc.Properties;

namespace System.Web.Mvc.Html
{
    public class MvcForm : IDisposable
    {
        private readonly ViewContext _viewContext;
        private bool _disposed;

        [SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", MessageId = "httpResponse", Justification = "This method existed in MVC 1.0 and has been deprecated.")]
        [Obsolete("This constructor is obsolete, because its functionality has been moved to MvcForm(ViewContext) now.", true /* error */)]
        public MvcForm(HttpResponseBase httpResponse)
        {
            throw new InvalidOperationException(MvcResources.MvcForm_ConstructorObsolete);
        }

        public MvcForm(ViewContext viewContext)
        {
            if (viewContext == null)
            {
                throw new ArgumentNullException("viewContext");
            }

            _viewContext = viewContext; …
Run Code Online (Sandbox Code Playgroud)

.net c#

3
推荐指数
1
解决办法
222
查看次数

在模式对话框窗口出现后,按钮丢失了WM_LBUTTONUP

我有一个win32应用程序,主窗口上有一个按钮.

当我单击鼠标左键时,我收到WM_LBUTTONDOWN消息,当我释放鼠标左键时,我收到WM_LBUTTONUP消息,这是正常的.

但是,如果在处理消息WM_LBUTTONDOWN时,(当我按住鼠标左键时),程序会显示一个模态对话窗口,该按钮将永远不会收到WM_LBUTTONUP.

这成为一个问题,因为在WM_LBUTTONDOWN中,程序执行了一些需要在WM_LBUTTONUP中清除的内容.现在由于模态对话框,没有机会再清理了.

有没有更好的方法来处理这个?我试过SetCapture,似乎仍然无法接收WM_LBUTTONUP.

windows winapi

2
推荐指数
1
解决办法
317
查看次数