小编koj*_*ojo的帖子

是否可以在Windows Phone 7上实现ping?

为了获得WP7中网络功能的印象,我打算构建一个简单的ping应用程序,它将向某个主机显示ICMP ping请求的结果.

但是,不仅System.Net.NetworkInformation.Ping缺少类,还缺少System.Net.Sockets名称空间.

经过简短的研究后,我发现WP7中只有两种通信方式:WebClient使用http(s)请求的类和使用SOA服务的WCF客户端.

这是否意味着我无法直接通过手机ping主机?我看到的唯一可能的解决方案是在专用服务器上实现一个单独的WCF服务,该服务将对手机执行ping操作,这看起来像是一种过度杀伤并且存在某些缺陷.

c# silverlight network-programming windows-phone-7

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

使用ShouldBeEquivalentTo时,如何排除IEnumerable中所有项的属性?

在我的NUnit/FluentAssertions测试中,我使用以下代码将从系统返回的复杂对象与引用对象进行比较:

    response.ShouldBeEquivalentTo(reference, o => o.Excluding(x => x.OrderStatus)
                                               .Excluding(x => x.Id)
                                               .Excluding(x => x.Items[0].Name)
                                               .Excluding(x => x.Items[0].Article)
                                               .Excluding(x => x.ResponseStatus));
Run Code Online (Sandbox Code Playgroud)

但是,这并不是我的意图.我想排除Name,并Article每一个在对象Items列表,不仅为第0.我该如何实现这种情况?

我查看了文档,但没有找到解决方案.我错过了什么吗?

c# unit-testing fluent-assertions

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

如果完成,ORMLite下的SQLite不允许在事务之后执行任何操作

在我通过ServiceStack的OrmLite在SQLite中创建和提交事务后,我无法继续发出任何查询.

例如,以下测试失败:

        [Test, Explicit]
        public void Can_query_after_transaction_is_committed()
        {
            var connection = new OrmLiteConnectionFactory(":memory:", false, SqliteDialect.Provider, true);
            using (var db = connection.OpenDbConnection())
            {
                db.DropAndCreateTable<SimpleObject>();
                var trans = db.OpenTransaction();
                db.Insert(new SimpleObject{test="test"});
                trans.Commit();
                Assert.DoesNotThrow(()=> db.Select<SimpleObject>()); //throws
            }
        }

class SimpleObject{public string test { get; set; }}
Run Code Online (Sandbox Code Playgroud)

我得到的例外是:"事务与命令的连接无关"在OrmLite的那一行周围失败.但是,我根本不应该参与交易.

当我使用SQL Server作为提供程序时,代码就像

new OrmLiteConnectionFactory(
                    @"Data Source=.\SQLEXPRESS;Initial Catalog=TestEmpty;Persist Security Info=True;User ID=db;Password=db;",
                     false, SqlServerDialect.Provider, true);*/
Run Code Online (Sandbox Code Playgroud)

这个测试工作正常.

我不正确地结束交易吗?它是ServiceStack.OrmLite中的错误吗?

c# sqlite servicestack ormlite-servicestack

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

如何在ServiceStack中翻译复杂对象?

假设我有两个对象:

class Order
{
    string Name {get; set;}
    Customer Customer {get; set;}
    Item[] Items {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

class OrderDTO
{
    string Name {get; set;}
    CustomerDTO Customer {get; set;}
    ItemDTO[] Items {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

如果我收到一个orderDTO完全填充的对象,orderDTO.TranslateTo<Order>()那么结果只会Name填充,而不是CustomerItems.有没有办法进行递归转换,或者唯一的选择是手动翻译客户和每个项目?

c# servicestack

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