小编cod*_*zen的帖子

将NHibernate ICompositeUserType与值类型一起使用

我有一个域模型对象,其属性类型为System.DateTimeOffset.我正在使用一个本地不支持这种类型的数据库,所以我打算使用'datetime'类型的列和'smallint'类型的列来存储它.

我已经挖掘了如何使用NHibernate组件映射它,并发现它可以使用ICompositeUserType实例.但是,在实现接口时,我遇到了名为"SetPropertyValue"的方法,该方法表面上设置了类型中的属性.由于DateTimeOffset是一个System.ValueType,只是设置这样的属性是不可行的,因为它是不可变的(至少,没有使用一些反射或不安全的代码,我想避免).由于SetPropertyValue上的实例参数不是'ref',如何在NHibernate中使用ValueType实例作为组件?

nhibernate orm value-type

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

在Windows上本机加密哈希的本机实现比.Net托管版本快多少?

我为数据集提供哈希以指纹数据并通过哈希识别它 - 这是快速哈希(如SHA1和MD5)的核心用例.

在.Net中,可以选择使用其中一些哈希的本机或托管实现(无论如何都是SHA变体).我正在寻找一个MD5托管实现,并且.Net Framework中似乎没有.但是想知道包装的原生CSP是否更快,如果我应该只使用它内容那么就没有了使用它的问题.对于为什么.NET框架中没有托管MD5实现的最佳答案表示更快的性能可能是托管变体不存在的原因.

这是真的,如果是这样,原生CSP的速度有多快?

.net performance md5 native sha

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

VB.NET - 单击Webbrowser页面上的"提交"按钮

我在我的webbrowser对象上打开了一个html页面,我可以输入用户名和密码,但我卡住了,不知道如何提交信息.这是用户名/密码提交的html代码:

<div id="signin">
    <h2 class="ir">
        <em></em>Sign in</h2>
    <form action="/login/" method="post">
    <input id="login-url" name="login[url]" 
           type="hidden" value="/characters/" />
    <input id="login-urlError" name="login[urlError]" 
           type="hidden" value="/account/?error=1" />
    <fieldset>
        <ul>
            <li class="row">
                <label for="login-username">
                    Username <span class="req">*</span>
                </label>
                <input id="login-username" name="login[username]"
                        type="text" class="TextBox" value="" />
            </li>
            <li class="row">
                <label for="login-password">
                    Password <span class="req">*</span>
                </label>
                <input id="login-password" name="login[password]"
                       type="password" class="TextBox Password" value="" />
            </li>
            <li class="but">
                <input name="login[submit]" type="image" 
                       class="img" alt="Login &raquo;" 
                       src="/_pub/img/hp/but-login.png" />
            </li>
        </ul>
    </fieldset>
    </form>
    <p>
        <a href="/account/password-reset/">ACCOUNT TROUBLE?</a>
    </p>
</div>
Run Code Online (Sandbox Code Playgroud)

我使用以下命令输入用户名和密码:

WebBrowser1.Document.GetElementById("login-username").SetAttribute("Value", Information.txtuser.Text) …
Run Code Online (Sandbox Code Playgroud)

browser vb.net input

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

如何在F#中实现Asynchrony而不是Parallelism

(坚持使用异步获取许多网页的常见示例)

我将如何异步分离多个(数百个)网页请求,然后在进入下一步之前等待所有请求完成?Async.AsParallel一次处理几个请求,由CPU上的核心数控制.抓取网页不是CPU绑定操作.不满意Async.AsParallel的加速,我正在寻找替代方案.

我试图连接Async.StartAsTask和Task []之间的点.WaitAll.本能地,我编写了以下代码,但它没有编译.

let processItemsConcurrently (items : int seq) = 
  let tasks = items |> Seq.map (fun item -> Async.StartAsTask(fetchAsync item))
  Tasks.Task.WaitAll(tasks) 
Run Code Online (Sandbox Code Playgroud)

你会怎么做?

performance f# asynchronous .net-4.0 task-parallel-library

8
推荐指数
1
解决办法
4766
查看次数

当返回类型不重要时,是否有更优雅的方法来合并observable?

我有一个类似ReactiveUI的视图模型.它有几个不同类型的属性来触发NotifyPropertyChanged事件,我想订阅一个方法,当任何被触发时将被调用,但我对实际值不感兴趣.

我当前的代码有点难看(由于true选择不透明).有没有办法表达这一点,这表明在事件发生时只关心他人的意图?

    this.ObservableForProperty(m => m.PropertyOne)
        .Select(_ => true)
        .Merge(this.ObservableForProperty(m => m.PropertyTwo).Select(_ => true))
   .Subscribe(...)
Run Code Online (Sandbox Code Playgroud)

我正在合并8个属性,所以它比显示的更难看.

c# system.reactive observable reactiveui

7
推荐指数
1
解决办法
3609
查看次数

C#跳过文本文件的第一行

这是我正在使用的代码

        using (FileStream fs = new FileStream(filename, FileMode.Open))
        using (StreamReader rdr = new StreamReader(fs))
        {
            while (!rdr.EndOfStream)
            {
                for (int z = 0; z < 2; z++)
                {

                    string[] lines = rdr.ReadLine().Split('|');
                    {
                        sb.AppendLine(";Re");
                        sb.AppendLine("@C PAMT " + lines[3]);
                        sb.AppendLine("@T " + lines[0]);
                        sb.AppendLine("@D @I\\" + lines[1]).Replace("I:\\", "");
                        sb.AppendLine(lines[2].Replace(";", "\r\n");
                    }
                }
            }
        }

        using (FileStream fs = new FileStream(outputfilename, FileMode.Create))
        using (StreamWriter writer = new StreamWriter(fs))
        {
            writer.Write(sb.ToString());
        }
Run Code Online (Sandbox Code Playgroud)

我想要的是跳过StreamReader的第一行或跳过整个第一个stringbuilder.我以为for会这样做,但它没有.

注意:我想推荐一个foreach.

c#

6
推荐指数
2
解决办法
3万
查看次数

在WPF中,我们如何将Duration定义为资源?

我有一个持续时间(0:0:0.5),我在一些动画中使用,我想只在一个地方定义这个数字.我可以将double定义为

<Window.Resources>
    <sys:Double x:Key="GridWidth">400</sys:Double>
</Window.Resources>
Run Code Online (Sandbox Code Playgroud)

但不确定如何将持续时间表示为资源.谢谢.

wpf xaml

6
推荐指数
1
解决办法
1416
查看次数

如何用线切割简单的多边形

我有一个简单的多边形(凸面或凹面,但没有孔),我需要切割成具有线段的部分.我不确定如何实际确定切片后多少个多边形结果,或者如何对顶点进行分组.

基本凸面情况总是导致2个子多边形很容易,但我如何处理复杂的凹形?以"E"形多边形为例.垂直切片可以产生4个多边形.如何确定哪些顶点构成每个子多边形?

定义多边形:我有两个选择.我的多边形可以是有序的顶点列表,也可以是三角形数组.我更喜欢使用三角形数组的解决方案.循环遍历每个三角形并且如果它们相交则用线切割它应该非常容易.但后来我不知道如何将这些三角形分组为产生的子多边形.

伪代码甚至一般建议都是好的; C#实现是理想的.

geometry polygon line slice computational-geometry

6
推荐指数
2
解决办法
4019
查看次数

SSCLI(转子)为v4.0 clr?

有谁知道v4.0运行时是否存在(或将会是)SSCLI版本?

.net clr .net-4.0 sscli

6
推荐指数
1
解决办法
862
查看次数

将PaperKind转换为PageMediaSizeName

我手动将PaperKind转换为PageMediaSizeName,如下所示:

    static PageMediaSizeName ConvertPaperKindToPageMediaSize(PaperKind paperKind)
    {
        switch (paperKind)
        {
            case PaperKind.Custom:
                return PageMediaSizeName.Unknown;
            case PaperKind.Letter:
                return PageMediaSizeName.NorthAmericaLetter;
            case PaperKind.Legal:
                return PageMediaSizeName.NorthAmericaLegal;
            case PaperKind.A4:
                return PageMediaSizeName.ISOA4;
            case PaperKind.CSheet:
                return PageMediaSizeName.NorthAmericaCSheet;
            case PaperKind.DSheet:
                return PageMediaSizeName.NorthAmericaDSheet;
            case PaperKind.ESheet:
                return PageMediaSizeName.NorthAmericaESheet;
            case PaperKind.LetterSmall:
                throw new NotImplementedException();
            case PaperKind.Tabloid:
                return PageMediaSizeName.NorthAmericaTabloid;
            case PaperKind.Ledger:
                throw new NotImplementedException();
            case PaperKind.Statement:
                return PageMediaSizeName.NorthAmericaStatement;
            case PaperKind.Executive:
                return PageMediaSizeName.NorthAmericaExecutive;
            case PaperKind.A3:
                return PageMediaSizeName.ISOA3;
            case PaperKind.A4Small:
                throw new NotImplementedException();
            case PaperKind.A5:
                return PageMediaSizeName.ISOA5;
            case PaperKind.B4:
                return PageMediaSizeName.ISOB4;
            case PaperKind.B5:
                throw new …
Run Code Online (Sandbox Code Playgroud)

c# printing wpf system.drawing system.printing

6
推荐指数
1
解决办法
2028
查看次数