小编ton*_*ong的帖子

为什么我必须使用[ProtoInclude]?

我已经阅读了很多关于protobuf-net中继承功能的问题.我只是想知道如果我可以像使用[ProtoContract],[ProtoMember]一样使用[DataContract],[DataMember].为什么我不能使用[KnowType]而不是使用[ProtoInclude]?

我提出这个问题是因为我已经将[DataContract],[DataMember]用于protobuf-net的序列化.没有必要添加"Protobuf-net".它只使用"System.Runtime.Serialization".

但是......现在如果我的类需要从某个类继承,我是否必须为[ProtoInclude]属性添加"Protobuf-net"?例如,

using System.Runtime.Serialization;
namespace test
{

[DataContract]
/// [KnowType(typeof(SomeClass))]
/// or
/// [ProtoInclude(100,typeof(SomeClass))]
public class BaseClass
{
   //...
   [DataMember(Order=1)]
   public string BlahBlahBlah {get; set;}
}

[DataContract]
public class ChildClass1 : BaseClass
{
   //...
   [DataMember(Order=1)]
   public string BlahBlahBlah {get; set;}
}
}// end namespace
Run Code Online (Sandbox Code Playgroud)

最后,我想知道我是否有100个子类,我不会疯狂地在基类中添加100个[ProtoInclude]标签吗?

感谢您提供任何帮助

VEE

protobuf-net

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

我无法删除数据库引擎优化顾问中的会话

我目前正在使用sql server 2008.我遇到了DTA问题.这是我的步骤:

  1. 我创建了新会话来分析我的查询.

  2. 我取消了这个过程,因为它花了这么长时间才完成(1小时/查询).在我取消的时候,这个过程是第4步(生成报告).

  3. 我关闭了会议.

  4. 我试图删除会话,但DTA不允许我删除.它说它在状态工具栏中流产了.我理解了这句话,但是我已经等了6个小时才删除这个会话.我不明白为什么这么久就流产了.这只是一个小问题.

有人可以帮我吗?

谢谢.

编辑:解决方案是首先终止连接到数据库的连接.而已.谢谢.

sql-server-2008

5
推荐指数
2
解决办法
3961
查看次数

C#,无法将.p7b证书导入Windows商店

我正在尝试将扩展名为.p7b的证书(smime)导入到Windows应用商店.

这是当前的代码

X509Certificate2 cert = new X509Certificate2(@"C:\test_public_cert.p7b");
X509Store store = new X509Store(StoreName.AddressBook, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadWrite);
store.Add(cert);
Run Code Online (Sandbox Code Playgroud)

它给了我一个"无法找到原始签名者"的错误.

备注:此代码正在使用.cer扩展(DER和Base 64).

有人请帮助确定可能的根条款吗?

谢谢.

PS.VS2010,Windows Server 2008 R2

Edit1:test_public_cert.p7b是通过mmc控制台从另一台服务器上的公钥导出的.

.net c# smime x509certificate

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

使用WCF Callback和asp.net实现发布/订阅模式

这是我第一个使用WCF的Web应用程序.所以请指导我作为一个新人.

我正在尝试使用WCF回调来实现发布/订阅模式.我想将UserA的消息从UserB发送给UserB或UserA.我从这里得到了一个例子.

在我的应用程序中,我使用ASP.NET作为客户端来连接WCF服务,我在订阅WCF服务时发现了一个问题.

WCF服务不包含任何其他客户端对象.因此,当我打电话时GetAllClients(_guid),它将只返回一个本身的客户端.

这是ASP.NET页面中的代码(我把每个控件放在里面updatePanel)

public partial class _Default : System.Web.UI.Page, AlertServiceCallback
{
    private AlertServiceClient _client;
    private Guid _guid = Guid.NewGuid();

    protected void Page_Load(object sender, EventArgs e)
    {
        InstanceContext context = new InstanceContext(this);
        _client = new AlertServiceClient(context);
        _client.RegisterClient(_guid);
    }

    protected void btnGetClients_Click(object sender, EventArgs e)
    {
        //Try to retrive all active clients
        Client[] cs = _client.GetAllClients(_guid);
        List<Client> list = new List<Client>(cs);
        //Bind to dropDownList to display all active clients
        ddlClients.DataSource = list;
        ddlClients.DataBind();
    } …
Run Code Online (Sandbox Code Playgroud)

asp.net wcf callback publish-subscribe

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