一,引言 之前在讲Azure CosmosDB Core(SQL)核心的时候,使用了EF Core 的方式,引用了 "Microsoft.EntityFrameworkCore.Cosmos" 的NuGet包,而今天来个简单的,使用 "Microsoft.Azure.Cosmos" 来操作CosmosDB,通过控制台来写一个简单的Demo. --------------------我是分割线-------------------- 1,Azure Cosmos DB…
一,引言 接着上一篇使用 EF Core 操作 Azure CosmosDB 生成种子数据,今天我们完成通过 EF Core 实现CRUD一系列功能.EF Core 3.0 提供了CosmosDB 数据库提供程序的第一个可用的版本,今天我们使用 EF Core 3.1在尝试使用Cosmos DB 来存储和构建 Asp.NET Core 应用程序时,可能还有一些差异. 1,CosmosDB 不会生成唯一的主键,Cosmos DB不会像SQL数据库那样创建主键.如果需要添加到 Cosmos DB中,…
一,引言 上一篇文章中,我们介绍到使用了EF Core 与Cosmos DB SQL API 进行结合开发.同时,大家在开发过程中一定要记得EF Core 不支持Cosmos DB 的迁移.今天我们启用 "异地冗余" 对账户异地冗余会自动将数据复制到与当前所在区域地理配对的区域.异地冗余可保证99.999%的可用性,甚至在遇到灾难时,也不例外.  接下来开始今天的分享. --------------------我是分割线-------------------- 1,Azure Cosm…
Azure Cosmos DB 是 Microsoft 提供的全球分布式多模型数据库服务.Cosmos DB是一种NoSql数据库,但是它兼容多种API.它支持SQL, MongoDB.Cassandra或 Gremlin,你可以挑选自己喜欢的方式进行存储跟访问. 主要优势 统包式全局分发 凭借 Cosmos DB,你可以在全球范围内生成具有高响应性和高可用性的应用程序. 无论用户身处何处,Cosmos DB 均可以透明方式复制数据,因此用户可以与离他们最近的数据副本进行交互. 凭借 Cosmo…
一,引言 今天是国庆.中秋双节房价的第三天,今天抽时间分享一篇关于使用Azure 提供的一项NoSql 服务-----Azure Cosmos DB.就有人问了,我听说过 MongoDB.Redis 等Nosql 类型的非关系数据库,你讲到的 Azure Cosmos DB 和它两有什么区别没?  Azure Cosmos DB 是微软针对操作和分析工作负荷提供的多区域分布式多模型数据库服务. 它通过自动缩放吞吐量.计算和存储来提供多主数据库功能.过以下常用 API 利用个位数毫秒级的快速数据访…
一,引言 还记得国庆期间,我们学习了一下关于Azure Cosmos DB 的一些基础知识以及Azure Cosmos DB 的几种支持数据库类型.今天就开始分享一些实战操作,如何通过Azure Portal 创建 Cosmos DB,以及在实际项目中如何通过代码操作数据库. 今天要演示的是 Core(SQL) 核心,SQL API 是具有丰富的SQL查询功能的无架构 JSON 数据库引擎,它是以 json 形式的文档数据库.同时微软提供了对应的 EF 的操作包 ----- Microsoft.…
简介 NCF想必看过我之前发的NCF的文章的同学们都已经很熟悉了 今天我们要来聊一聊的是NCF遇到Azure Cosmos DB后会碰撞出什么样的火花,让我们一起往下看 我们先来说说什么是Azure Cosmos DB Azure Cosmos DB 是一个完全托管的无服务器 NoSQL 数据库,适用于任何大小或规模的高性能应用程序.获得保证的单位数毫秒性能和 99.999% 的可用性,由 SLA 提供支持,自动和即时可伸缩性,适用于 NoSQL 数据库(包括 MongoDB 和 Cassand…
<Windows Azure Platform 系列文章目录> Azure Cosmos DB的体系结构分为以下几个部分: 1.Database Accounts Database Account就是1个可以访问的namespace命名空间 2.Database Database就是CosmosDB Container的集合 3.Database Container Azure Cosmos Container是可缩放性预配的吞吐量和存储单元 下表描述了Azure Cosmos Databas…
之前在学习Cosmos DB 中SQL API(DocumentDB) 的时候,也就是之前做的一些笔记,看到有使用费用的一些介绍,就有兴趣的去了解了下,做了一下简单的总结. 想了解更多或是购买使用的还请参考官网: https://docs.microsoft.com/zh-cn/azure/cosmos-db/understand-your-bill https://azure.microsoft.com/zh-cn/pricing/details/cosmos-db/ 计费方式:    每10…
使用.net mongo的操作类操作azure(微软云)cosmosdb时,发现在做delete的操作的时候可以传一个文档对象,但是最后这个文档会解析成具体的sql语句,而当文档特别大时这样就出先了转换的sql语句超过了,语句的最大长度.而且由于这个语句很长执行的也慢.所以最好是根据唯一条件比如id去做删除等操作.…
<Windows Azure Platform 系列文章目录> The SQL API supports the following aggregate functions. SUM and AVG operate on numeric values, and COUNT, MIN, and MAX work on numbers, strings, Booleans, and nulls. 在本章节,我们将使用Azure Portal,创建1个Azure Cosmos DB. 1.首先,我们…
阅读 大约需要 4 分钟 在上一篇随笔中记录的是关于Azure Cosmos DB 中SQL API (DocumentDB) 的简介和Repository 的实现.本随笔是Document DB 中存储过程(Stored Procedure).触发器(Triggers).用户自定义函数(User Defined Functions)的实现方式. 存储过程(Stored Procedure) 1. 创建存储过程,需要四个参数,以此分别为数据库名,collection名,需要创建的存储过程名,存储…
阅读 需要大约  5 分钟. 前景: Azure Cosmos DB 由 Microsoft 提供,是全球分布式多模型数据库. 通过 Azure Cosmos DB 跨任意数量的 Azure 地理区域弹性且独立地缩放吞吐量和存储. 它通过综合服务级别协议 (SLA) 提供吞吐量.延迟.可用性和一致性保证.Azure Cosmos DB 可以轻松地生成可缩放且响应迅速的全局规模应用程序. 介绍: 多个数据模型和用于访问及查询数据的常用 API. Azure Cosmos DB 本身所基于的数据模型…
类似的数据库还有Google的Spanner. 参考:官网说明 另一个介绍 Key capabilities As a globally distributed database service, Azure Cosmos DB provides the following capabilities to help you build scalable, globally distributed, highly responsive applications: Turnkey global di…
本教程演示如何使用 Azure 门户创建 Azure Cosmos DB 帐户,然后使用 DocumentDB .NET API 创建具有分区键的文档数据库和集合.通过在创建集合时定义分区键,应用程序能够随数据增加轻松进行扩展.在本教程中完成的所有操作均符合 1 元试用条件. 本教程演示如何使用 Azure 门户创建 Azure Cosmos DB 帐户,然后使用 DocumentDB .NET API 创建具有分区键的文档数据库和集合.通过在创建集合时定义分区键,应用程序能够随数据增加轻松进行…
一,引言 上一篇文章我们在.NET 项目中添加了 “WindowsAzure.Storage” 的 NuGet 包进行操作Table 数据,但是使用的 “WindowsAzure.Storage”  NeGet 以及没微遗弃了,所以我们今天继续讲 Azure Table Storage,使用新的 Nuget  包--- “Microsoft.Azure.Cosmos.Table” 来操作 Table 数据. nuget 链接:https://www.nuget.org/packages/Micr…
Docker制作dotnet core控制台程序镜像 基于dotnet SDK 新建控制台程序 mkdir /home/console cd /home/console dotnet new console dotnet restore 创建 Dockerfile 文件,参考https://github.com/dotnet/dotnet-docker/blob/master/samples/aspnetapp/Dockerfile vim /home/console/Dockerfile #…
希望写一个小型工具,给自己和需要的人.考虑到代码尽可能的复用,我准备采用 .Net Standard 来编写大多数核心代码,并基于 .Net Core 编写跨平台控制台入口,用 WPF 编写桌面端 UI 入口,用 UWP 作为可上架商店的 UI 入口,然后用 Shared Project 共享 WPF 和 UI 的多数 UI 入口代码. 阅读本文将了解到如何在尽可能复用代码的情况下组织这样的 C# 解决方案. 工具型项目,选择了控制台 用 WPF 开发桌面 UI,因为其有强大的 .NET Fra…
新建 .NET Core 控制台项目 1. 安装 .NET Core SDK 1.0 参考微软官方网站 https://www.microsoft.com/net/download/windows 2. 打开命令提示符:输入以下代码验证SDK安装成功. 1 dotnet -version 创建一个名为“Hello”的文件夹. 这个名字将作为项目名. 1 md Hello 2 cd Hello 导航到创建的文件夹,键入下列内容: $ dotnet new console $ dotnet rest…
一,引言 距离上次分享关于 “Azure AD" 的知识过去差不多2个多月了, 今天最近刚好也是学习,分享一下关于Azure AD 使用多租户应用程序模式让任何 Azure Active Directory 用户登录,之前仅仅都是在当初租户的用户或者受邀来宾来访问和使用我们的api资源的.今天我们将以下关于只要拥有微软 的工作/学校账号的用户都可以使用我们受AD保护的 API 资源.接下来就开始我们今天的分享 --------------------我是分割线------------------…
一,引言 上一篇我们结合学习 Azure Traffic Manger 的内容,做了一个负载均衡的基础设施架构.通过 Terraform 部署执行计划,将整个 Azure Traffic Manager 结合 Azure Web App 的架构快速部署到云上.然后再将我们的示例项目代码部署到对应的不同区域的Azure Web 应用程序上.最后Azure Traffic Manager 将不同地理位置的用户的访问请求转发到后端的 Azure Web 应用上. 这时,又有人提问了,现在都流行 Dev…
一,引言 上一篇文章,我们介绍了 Azure Key Vault 在实际项目中的用途,Azure Key Vault 作为密钥管理的服务,我们可以很轻松的利用它创建和控制用于加密的密钥,和管理证书和机密信息.而且对于我们开发者来说,我们的应用程序中完全可以摒弃配置这种密钥和机密信息,不再需要将这些机密信息作为代码的一部分了.我们只需要在应用程序中配置 Azure Key Vault URL,再为身份验证配置适当的访问权限,应用程序就可以很轻松的访问 Azure Key Vault(密钥保管库)了…
之前都是在ASP.NET Core中使用依赖注入(Dependency Injection),昨天遇到一个场景需要在.NET Core控制台程序中使用依赖注入,由于对.NET Core中的依赖注入机制不了解,竟然无从下手. 今天正准备阅读 Microsoft.Extensions.DependencyInjection 的源代码,发现园子里的一篇博文 ASP.NET Core 源码阅读笔记(1) ---Microsoft.Extensions.DependencyInjection,读后豁然开朗…
作为服务器操作系统,图形界面真心有些多余了,这也是很多人喜欢Linux服务器的原因之一.从Windows Server 2008开始,微软提供了Server Core版本,其实就是一个没有图形界面的服务器版操作系统. 在中国版的Azure上,没有Server Core版本的镜像,但是我们完全可以自己动手了制作一个. 首先创建一个Windows Server虚拟机.远程桌面连接到虚拟机后,打开PowerShell,连续执行以下命令(第一条命令执行完成后不要重启,继续执行第二条命令): Remove…
.Net Core 控制台程序错误:Can not find runtime target for framework '.NETCoreApp,Version=v1.0' compatible with one of the target runtimes: 'win10-x64, win81-x64, win8-x64, win7-x64'. 解决方法: 在项目文件project.json里添加:  "runtimes": {     "win10-x64": …
Net Core 控制台输出中文乱码的解决方法: public static void Main(string[] args)         {             Console.OutputEncoding = System.Text.Encoding.UTF8;//第一种方式:指定编码             //Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);//第二种方式                 …
.net core控制台应用程序与之前.net版本有所不同,编译之后不会生成.exe启动程序,而是生成.dll文件 所以在使用的时候需要敲入命令来启动控制台应用程序,命令是: start  dotnet xxxx.dll 通过命令会启动控制台程序…
在我的上几篇文章中降到了asp.net core的管道模型,为了更清楚地理解asp.net core的管道,再网上学习了.Net Core控制台应用程序对其的模拟,以加深映像,同时,供大家学习参考. 首先,新建一控制台应用程序.注意是.Net Core的控制台应用程序. 然后新建一个Context类,以模拟ASP.net core中的context类,然后再Context类中添加一个Write方法. using System; using System.Collections.Generic;…
背景介绍 依赖注入(Dependency Injection), 是面向对象编程中的一种设计原则,可以用来减低代码之间的耦合度.在.NET Core MVC中 我们可以在Startup.cs文件的ConfigureService方法中使用服务容器IServiceCollection注册接口及其实现类的映射. 例如,当我们需要访问Http上下文时,我们需要配置IHttpContextAccessor接口及其实现类HttpContextAccessor public void ConfigureSe…
.NET Core 控制台程序没有 ASP.NET Core 的 IWebHostBuilder 与 Startup.cs ,那要读 appsettings.json.注依赖.配日志.设 IOptions 该怎么办呢?因为这些操作与 ASP.NET Core 无依赖,所以可以自己动手,轻松搞定. 1.读 appsettings.json ,ConfigurationBuilder 上 varconf = newConfigurationBuilder() .SetBasePath(Directo…