小编Run*_*ick的帖子

如何使用Reflection为对象上的所有DateTime属性设置DateTime.Kind

在我的应用程序中,我通过Web服务检索域对象.在Web服务数据中,我知道所有日期值都是UTC,但Web服务不会将其xs:dateTime值格式化为UTC日期.(换句话说,该字母Z不会附加到每个日期的末尾以表示UTC.)

我无法在此时更改Web服务的行为方式,但作为一种解决方法,我创建了一个方法,在Web服务中的对象被反序列化后立即调用该方法.

    private void ExplicitlyMarkDateTimesAsUtc<T>(T obj) where T : class
    {
        Type t = obj.GetType();

        // Loop through the properties.
        PropertyInfo[] props = t.GetProperties();
        for (int i = 0; i < props.Length; i++)
        {
            PropertyInfo p = props[i];
            // If a property is DateTime or DateTime?, set DateTimeKind to DateTimeKind.Utc.
            if (p.PropertyType == typeof(DateTime))
            {
                DateTime date = (DateTime)p.GetValue(obj, null);
                date = DateTime.SpecifyKind(date, DateTimeKind.Utc);
                p.SetValue(obj, date, null);
            }
            // Same check for nullable DateTime.
            else if …
Run Code Online (Sandbox Code Playgroud)

c# reflection datetime

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

捕获视频帧,然后在HTML5中导出为位图

我有一个网络应用程序,我在那里播放视频.

我正在考虑使用HTML5 <video>元素,并确定它将允许我满足我的所有要求,除了一个:允许用户拍摄当前视频帧的快照并将其保存为光栅图像格式(即JPG).

对于这个要求,我还没有找到解决方案,对此问题的任何指导都将不胜感激.

为了帮助回答这里的问题更多细节.我将通过HTTP从服务器下载视频文件,然后在浏览器中播放它们.这不是视频流,而是在收到文件后开始播放.视频将采用MP4格式.

解决方案只需要在IE 9中运行.(虽然我希望解决方案尽可能跨浏览器/平台.)

video html5 html5-video

11
推荐指数
1
解决办法
7830
查看次数

在JavaScript中使用"Out"参数

我正在使用Internet Explorer 8中的ActiveX控件来显示一个保存文件对话框,让用户选择文件名和文件类型(jpg,gif等).这些值传递给代码,然后以不同的方法用于保存文件.不幸的是,调用对话框的方法没有返回值,文件名和文件类型作为out参数传入.

方法的签名(用Visual Basic表示)如下所示:

Public Sub SaveFileDialog( _
   ByVal bstrDialogType As Variant, _
   ByRef pbstrFileName As String, _
   ByRef out_pvType As Long _
)
Run Code Online (Sandbox Code Playgroud)

两个ByRef参数是out参数.

我编写了以下JavaScript代码:

try
{
    var saveFileName, saveFileType; // out variables
    gxVideoPlayBack.SaveFileDialog("image", saveFileName, saveFileType);
    alert(saveFileName); // displays "undefined"
    alert(saveFileType); // displays "undefined"
}
catch(error)
{
    if(!error.number === -2147221484) // User clicked cancel.
    {  
        alert(error.message);
    }
}
Run Code Online (Sandbox Code Playgroud)

代码的工作原理是ActiveX控件生成它的对话框,我可以处理错误条件,但我似乎无法弄清楚如何捕获out参数的值.

在代码中,gxVideoPlayBack是通过HTML元素对DOM中嵌入的ActiveX控件的引用.

如果JavaScript不能用于此,可以在VBScript中完成吗?

作为替代方案,我可以实现自己的对话框,但宁可使用提供的对话框.

javascript internet-explorer activex

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

Ember Transactions:在事务之间移动对象

我已经实现了一个有交易的Route.当用户通过单击"后退"按钮移出此路径时,我希望用户能够确认退出并丢失通过回滚事务所做的任何更改.

问题是,如果用户返回到路由,Ember Data会引发错误并指出:

Error: assertion failed: Models cannot belong to more than one transaction at a time.
Run Code Online (Sandbox Code Playgroud)

这是即使我在旧事务上显式调用remove()并将add()添加到新事务(请参阅下面的newTransaction()函数):

settingsDetails: Ember.Route.extend({
    route: '/details',
    transaction: MyApp.store.transaction(),

    doBackButton: function() {
        var dirty = MyApp.router.get('settingsDetailsController.content.isDirty');
        var doTransition = true;
        if (dirty) {
            var confirmDialog = confirm('You have unsaved changes. Are you sure you want to continue ? \n\nAny chances made will be lost!');
            doTransition = confirmDialog;
        }

        if (doTransition) {
            this.doResetSettingsDetails();
            MyApp.router.transitionTo('settings.settingsOverview');
        }
    },

    newTransaction: function() {
        var oldTransaction = this.get('transaction');
        var newTransaction = …
Run Code Online (Sandbox Code Playgroud)

transactions ember.js ember-data

5
推荐指数
1
解决办法
669
查看次数

Sails.js:如何在单一模型的服务器端EJS视图中访问数据

Sails.js Wiki清楚地描述了如何遍历模型数组并生成HTML.请参阅https://github.com/balderdashy/sails/wiki/views.但是,我不清楚如何获取详细信息视图的模型.

给定通过shell命令生成的模型:sails generate user,将会有以下路由:

/user
/user/:id
Run Code Online (Sandbox Code Playgroud)

(这:id是用模型的唯一ID替换的标记.有关更多详细信息,请参阅http://sailsjs.org/#documentation/routes.)

wiki的例子处理第一条路线,/user但是当你去的时候会发生什么 - 你/user/:id怎么从EJS视图得到模型?

我希望会有类似的<%= model.propertyName %>工作.

请记住我在服务器上生成HTML的问题.(我知道如何获取数据并呈现客户端.)

ejs sails.js

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