我已经阅读了很多关于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
我目前正在使用sql server 2008.我遇到了DTA问题.这是我的步骤:
我创建了新会话来分析我的查询.
我取消了这个过程,因为它花了这么长时间才完成(1小时/查询).在我取消的时候,这个过程是第4步(生成报告).
我关闭了会议.
我试图删除会话,但DTA不允许我删除.它说它在状态工具栏中流产了.我理解了这句话,但是我已经等了6个小时才删除这个会话.我不明白为什么这么久就流产了.这只是一个小问题.
有人可以帮我吗?
谢谢.
编辑:解决方案是首先终止连接到数据库的连接.而已.谢谢.
我正在尝试将扩展名为.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控制台从另一台服务器上的公钥导出的.
这是我第一个使用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)