近几年来,微软提供了一个名为"Table Storage"的"NoSQL"密钥/值存储(http://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-表/)
表存储提供高性能,可扩展性(通过分区)和相对较低的成本.Table的主要缺点是只能对Partition和Row键建立索引 - 因此对值进行查询效率非常低.
最近,微软宣布了一项名为"DocumentDB"的新"NoSQL"服务(http://azure.microsoft.com/en-us/documentation/services/documentdb/)
DocumentDB存储JSON对象,而不是存储属性列表(如Tables do).整个对象被索引 - 因此可以基于存储对象的每个属性和任何嵌套属性创建有效的查询.
微软表示,DocumentDB也提供了高性能和可扩展性.
如果是这样 - 为什么有人会使用Table Storage而不是DocumentDB?听起来DocumentDB提供与Tables相同的功能,但具有其他功能,例如索引任何内容的功能.
如果有人能够在DocumentDB和Table Storage之间进行比较,我会很高兴,强调每个人的利弊.
考虑第一版代码(MainWindow.xaml):
<ScrollViewer>
<local:CustomControl1 Width="1000" Height="1000" Background="Red"/>
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)
其中CustomControl1派生自ItemsControl.在CustomControl1中,我重写了OnMouseDown事件.这段代码完美无缺,我确实抓住了鼠标按下事件.
现在第二版代码(MainWindow.xaml):
<local:CustomControl1 Width="1000" Height="1000" Background="Red"/>
Run Code Online (Sandbox Code Playgroud)
在Generic.xaml里面,我更改了我的项目控件的模板:
<ControlTemplate TargetType="{x:Type local:CustomControl1}">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<ScrollViewer
VerticalScrollBarVisibility="Visible"
HorizontalScrollBarVisibility="Visible"
>
<ItemsPresenter/>
</ScrollViewer>
</Border>
</ControlTemplate>
Run Code Online (Sandbox Code Playgroud)
当我将scrollviewer作为控件模板的一部分时,我不再接收OnMouseDownEvent(左键单击).出于某种原因,现在将鼠标按下事件标记为已处理.如果不是重写OnMouseDown,我在items控件构造函数中使用以下语句,则捕获事件:
AddHandler(Mouse.MouseDownEvent, new MouseButtonEventHandler(OnMouseDown), true);
Run Code Online (Sandbox Code Playgroud)
首先,我想了解为什么将scrollviewer放在模板中改变鼠标的行为.第二,有没有人知道一些解决方法?我提出的解决方案(通过捕获处理事件)对我来说是不可接受的.在我的应用程序中,只有当没有任何项控制子项处理它时,我才需要处理鼠标按下事件.
提前致谢.
在我的应用程序中,我有一个视图(ListView)和一个视图模型。在视图模型内部,我有2个属性:第一个是项目列表,第二个是命令。我想在ListView中显示项目(从第一个属性开始)。另外,我希望每个菜单都有一个上下文菜单,单击该菜单将激活一个命令(来自第二个属性)。
这是我的视图模型的代码:
public class ViewModel
{
public IEnumerable Items
{
get
{
return ...; //returns a collection of items
}
}
public ICommand MyCommand //this is a command, I want to be able execute from context menu of each item
{
get
{
return new DelegateCommand(new Action<object>(delegate(object parameter)
{
//here code of the execution
}
), new Predicate<object>(delegate(object parameter)
{
//here code of "can execute"
}));
}
}
Run Code Online (Sandbox Code Playgroud)
现在,XAML部分:
<ListView ItemsSource="{Binding Items}">
<ListView.Resources>
<commanding:CommandReference x:Key="myCommand" Command="{Binding MyCommand}"/>
</ListView.Resources>
<ListView.ItemTemplate>
<DataTemplate> …Run Code Online (Sandbox Code Playgroud) 有时我会收到此错误:
致命错误 C1007:“p2”中无法识别的标志“-archVFPv3-D32”
Visual Studio 2013,Windows 应用商店应用(c++ 和 c# 项目)。
似乎完全重建解决了这个问题 - 直到下一次。
有任何想法吗?
谢谢
我在本地运行 Kubernetes 集群,使用 KubeAdm 进行初始化。我配置了法兰绒网络插件。
当我将服务公开为 NodePort 时,我无法接收外部 IP。我想念什么?
我的部署 yaml 如下所示:
apiVersion: v1
kind: Service
metadata:
name: testapp
labels:
run: testapp
spec:
type: NodePort
ports:
- port: 8080
targetPort: 80
protocol: TCP
name: http
- port: 443
protocol: TCP
name: https
selector:
run: testapp
---------
apiVersion: apps/v1
kind: Deployment
metadata:
name: testapp
spec:
selector:
matchLabels:
run: testapp
replicas: 2
template:
metadata:
name: testapp
labels:
run: testapp
spec:
containers:
- image: [omitted]
name: testapp
ports:
- containerPort: 80 …Run Code Online (Sandbox Code Playgroud) 我有一种荒谬的情况,我很高兴听到你们如何处理它:
我有一个混合应用项目,Visual Studio 2015 Cordova Tools.在它里面,在"res"文件夹下我有app资源.整个项目,包括资源,都在源头控制之下(TFS).
在构建期间,资源文件被复制到"..\_mpames\android\res"文件夹中.
第一次,当文件夹为空时成功 - 文件按原样复制(例如,只读,因为它们在源代码控制下).之后,在下一次构建期间,它会尝试覆盖这些只读文件并失败,正如预期的那样 - 显示信息错误:"EPERM,操作不允许' 资源完整路径 '.
我不明白.资源必须受源代码控制,所以我猜99.99%的开发人员会遇到与我相同的问题.
我错过了什么?
谢谢
我查看了 Istio 创建的 ELB,我看到了所有这些开放端口:
所有这些端口都暴露在 Internet 上。除了前两个,所有其他暴露的端口的目的是什么?有没有办法(通过 Istio 配置)来控制公开的内容?
我有一些愚蠢的情况,我找不到简单而优雅的解决方案来解决烦人的问题.
我用简单的UI编写asp.net应用程序,根据用户选择查询数据库.用于使用Entity Framework查询DB I.
在我的场景中,其中一个可选用户选择是自由文本,为此我使用SQL Server FTS功能(使用CONTAINSTABLE函数,因为我需要按相关性排序结果).
现在,我有以下情况:
如果用户没有提供自由文本标准,我使用类型的结果创建简单的Linq查询IQueriable<Result>(其中'Result'是一个包含来自表的数据的实体)
但是,如果用户没有提供免费的文字标准,我创建与CONTAINSTABLE查询,它的类型是IQueriable<ResultWithRank>(其中"ResultWithRank"是一个对象包含两个实体:"结果"和"排名",因为在内部CONTAINSTABLE结果加入).
在这个阶段,在我构建了我的可查询之后,我需要在其上执行'Select'方法,以便将其转换为有用的东西.
这是问题所在:
在第一种情况下,我的select语句如下所示:
var result = queryable.Select(entity => /*.. about 20 lines of reshapying code .. */
Run Code Online (Sandbox Code Playgroud)
在第二种情况下,它看起来像这样:
var result = queryable.Select(entity.Result => /*.. about 20 lines of exactly the same reshapying code .. */
Run Code Online (Sandbox Code Playgroud)
我想避免重复"选择"代码,因为两种情况都相同.我试图将它移动到外部方法,但这没有执行,因为Linq试图将我的方法转换为SQL并且显然失败了.
如何以一种优雅的方式解决这个问题,而不重复"选择"代码?
我使用 IntelliJ IDE 开发 TypeScript 应用程序,并且我想仅隐藏“app”文件夹中的 *.js 文件。我不想全局隐藏 js 文件,因为我确实需要在其他地方(例如在 node_modules 文件夹中)看到它们。
目前我有 IntelliJ 2016.1.4
我试图将相关路径添加到“设置->编辑器->文件类型->忽略文件和文件夹”中:
-> 似乎没什么作用
如果我试图隐藏“app”或“*.js” - 它确实有效。
那么 - 是否支持隐藏特定文件夹中的特定文件类型?
我的网站有一个非常奇怪的问题,最后我成功地查明了确切原因。
在我的“实体”表中,我有几列,例如“Id”、“Title”、“Date”、“Indexing”等等。
“索引”列用全文索引编制索引。
考虑以下 SQL 查询:
SELECT Id
FROM [dbo].[Entities] AS DocTable
INNER JOIN CONTAINSTABLE(Entities, Indexing, 'otherCriteria OR criteia') AS KEY_TBL
ON DocTable.Id = KEY_TBL.[KEY]
ORDER BY KEY_TBL.RANK DESC
Run Code Online (Sandbox Code Playgroud)
这个查询按预期工作,我得到大约 600 个结果。
现在我添加分页:
SELECT Id
FROM [dbo].[Entities] AS DocTable
INNER JOIN CONTAINSTABLE(Entities, Indexing, 'otherCriteria OR criteia') AS KEY_TBL
ON DocTable.Id = KEY_TBL.[KEY]
ORDER BY KEY_TBL.RANK DESC
OFFSET 50 ROWS FETCH NEXT 10 ROWS ONLY
Run Code Online (Sandbox Code Playgroud)
无论我使用 OFFSET 30 还是 40 或 50 -> 我总是得到完全相同的结果!
现在真正奇怪的部分是:如果在 SELECT 中,我还要求选择“标题”(例如 SELECT Id、Title)--> 我得到正确的结果。
有任何想法吗?
我的网站部署在 AWS Beanstalk 上。由于我的内容是动态的,因此我每天都会重新生成一个站点地图,该站点地图必须部署在我的网站上(它必须位于同一域下)。
以前(在 Azure 和共享托管上)我是通过使用 FTP 上传站点地图文件来实现这一点的。
如何在 AWS Beanstalk 上上传站点地图?
我有以下项目结构:
RootProject
??? lib
??? src
??? main
??? java
??? ...
??? test-project
??? src
??? main
??? java
??? ...
??? build.gradle
Run Code Online (Sandbox Code Playgroud)
我试图遵循Gradle 最佳实践进行多项目构建,因此我在单个build.gradle文件中描述了整个构建过程。
“ RootProject”只是一个没有任何代码的根项目,其唯一目的是为其子项目“ lib”和“ test-project”提供一个build.gradle。
“ test-project”是一个使用“ lib”作为编译依赖项的SpringBoot项目(微服务)。
我常见的build.gradle如下所示:
plugins{
id 'java'
id 'org.springframework.boot' version '2.1.1.RELEASE'
id 'io.spring.dependency-management' version '1.0.6.RELEASE'
}
allprojects {
repositories {
jcenter()
}
}
subprojects {
apply plugin: 'io.spring.dependency-management'
apply plugin: 'org.springframework.boot'
group = 'com.xxx.yyy'
version = '1.0'
sourceCompatibility = 1.8
targetCompatibility = 1.8
}
project(":lib"){
apply plugin: 'java-library'
dependencies …Run Code Online (Sandbox Code Playgroud) kubernetes ×2
wpf ×2
android ×1
azure ×1
c# ×1
c++ ×1
contextmenu ×1
cordova ×1
gradle ×1
istio ×1
linq ×1
mvvm ×1
scrollviewer ×1
spring-boot ×1
sql-server ×1