XML in general is a powerful beast, with so many options available that it quickly gets really complex. The XML Digital Signatures standard is no exception to that. The extra features complexity of XML DSig compared to other signature standard is that one or more different blocks of data can be signed by the same signature block. That data can be the containing XML Document, part of an XML document or some other resource such as a web page. In this post we’ll only look at signing resources in the document containing the signature.
TypeScript 4.1 منتشر شد
For this release, we have some exciting new features, new checking flags, editor productivity updates, and speed improvements. Let’s get a look at what 4.1 brings!
- NET Core 1.0.1. منتشر شد. با این تغییرات
برای مطالعهی بیشتر
- Announcing September 2016 Updates for .NET Core 1.0
- Announcing the ASP.NET Core September 2016 Patch Release
توضیحات بیشتری در مورد روش ارتقاء
کتاب رایگان NancyFX Succinctly
In NancyFX Succinctly, you'll learn what NancyFX is all about, where it came from, and what it can do for you as a .NET developer. Author Peter Shaw will explain why NancyFX is more than just another web framework, and teach you some of the many tricks that make it as easy as possible for you to create stunning web-enabled applications on the .NET platform.
In summary, the most important issues here are:
- The Aggregate’s main task is to protect invariants (business rules, the boundary of immediate consistency)
- In a multi-threaded environment, when multiple threads are running simultaneously on the same Aggregate, a business rule may be broken
- A way to solve concurrency conflicts is to use Pessimistic or Optimistic concurrency techniques
- Pessimistic Concurrency involves the use of a database transaction and a locking mechanism. In this way, requests are processed one after the other, so basically concurrency is lost and it can lead to deadlocks.
- Optimistic Concurrency technique is based on versioning database records and checking whether the previously loaded version has not been changed by another thread.
- Entity Framework Core supports Optimistic Concurrency. Pessimistic Concurrency is not supported
- The Aggregate must always be treated and versioned as a single unit
- Domain events are an indicator, that state was changed so Aggregate version should be changed as well
public class AggregateRootBase : Entity, IAggregateRoot { private int _versionId; public void IncreaseVersion() { _versionId++; } }
internal sealed class OrderEntityTypeConfiguration : IEntityTypeConfiguration<Order> { public void Configure(EntityTypeBuilder<Order> builder) { builder.Property("_versionId").HasColumnName("VersionId").IsConcurrencyToken(); //... } }
var order = await _ordersContext.Orders.FindAsync(orderId); order.AddOrderLine(request.ProductCode); var domainEvents = DomainEventsHelper.GetAllDomainEvents(order); if (domainEvents.Any()) { order.IncreaseVersion(); } await _ordersContext.SaveChangesAsync();
Live Charts برای WPF
Rust – the Ultimate Programming Language?
What makes a good programming language? Syntax? Compiler? Tools and ecosystem? It is tempting to say “all of that” but in that case, why there are so many different programming languages? All these components are very important but they alone can’t make the language “good”. One of essential things is the purpose — like languages for rapid development, or development of distributed algorithms, or general purpose for high-level and low-level applications, or easy to learn, or safe to use and so on.