小编Tim*_*uri的帖子

在Windows窗体或WPF应用程序中使用"Wingdings"字体是否合适?

我有一个WPF控件,它有一个"Investors"列表,在列表的右栏中有一个"Delete"按钮.

我可以浪费一些时间在photoshop中制作一个"x"的图像.或者,我可以使用Wingdings字体并将内容设置为"Õ"(这使得看起来很酷的删除按钮).

这个合适吗?我的想法是......虽然不是每个计算机上都有每个字体系列,但我很确定如果你运行我的WPF Windows Forms程序,那么你就有了Wingdings.

你怎么看?请尽量提供有关此事的统计数据(不仅仅是感受).我应该担心字体大小吗?等等

wpf fonts compatibility winforms

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

使用C#/ .NET替换文件中文本的最佳方法是什么?

我有一个文本文件,作为一个非常大的数据提取的一部分写入.文本文件的第一行是提取的"帐户"数.

由于此提取的性质,该数字直到过程的最后才知道,但文件可能很大(几百兆).

在C#/ .NET中打开文件(在本例中是一个简单的文本文件),并替换文本的第一个"行"中的数据的最佳方法是什么?

重要说明: - 我不需要替换"固定数量的字节" - 这很容易.这里的问题是需要插入文件顶部的数据是可变的.

重要说明2: - 有些人询问/提到只是将数据保存在内存中然后更换它......但这完全是不可能的.更新此过程的原因是因为有时它会在将几个演出加载到内存时崩溃.

.net c# file-io replace

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

如何通过DataBinding/Triggers有选择地设置TabItem的"可见性"

如果属性(BlahType)设置为1并且显示为设置为0,我有一个应该隐藏的标签页.这就是我想要做的事情:

<TabItem Header="Blah">
    <TabItem.Triggers>
        <DataTrigger Binding="{Binding BlahType}" Value="0">
            <Setter Property="TabItem.Visibility" Value="Hidden" />
        </DataTrigger>
    </TabItem.Triggers>
</TabItem>
Run Code Online (Sandbox Code Playgroud)

问题是,我收到此错误:

"Triggers collection members must be of type EventTrigger"
Run Code Online (Sandbox Code Playgroud)

如果你谷歌那个错误,你会看到WPF博士解释错误.有没有一种干净的方式来做我想在这里实现的目标?

data-binding wpf eventtrigger

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

如何防止"添加到设计器中的对象使用不同的数据连接......"?

我正在使用Visual Studio 2010,我有一个LINQ-to-SQL DBML文件,我和我的同事正在使用这个文件.

我们在DBML正在使用的web.config文件中有一个连接字符串.但是,当我将一个新表从我的"服务器资源管理器"拖到DBML文件上时...我会看到一个对话框,要求执行以下两个选项之一:

  1. 允许visual studio更改连接字符串以匹配解决方案资源管理器中的连接字符串.
  2. 取消操作(意思是,我没有得到我的表).

关于为什么制作这个工具的PM /开发人员不允许第三种选择 - "无论如何创建对象 - 不要担心,我是开发人员!"我并不太关心辩论.

如果我可以在服务器资源管理器中创建一个连接 - 没有一个向导,我认为这将是一个很好的解决方案.如果我可以粘贴一个连接字符串,那就太棒了!因为那时DBML设计师不会对我感到害怕:O)

如果有人知道这个问题的答案,或者如何做到这一点,请知道!

visual-studio-2010 linq-to-sql

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

Windows Azure服务总线队列 - MessageSender或QueueClient?

背景故事:

几个月前(当我不熟悉Azure Queues和SDK工具时)我用Google搜索"我该怎么做"和"我该怎么做"......这就是我今天所处的位置:

  1. 我正在使用QueueClient(Microsoft.ServiceBus.Messaging - Microsoft.ServiceBus.dll)从Azure队列接收邮件.

  2. 在我的同一个程序中,我也使用MessageSender(来自相同的命名空间和dll)将消息发送到Azure队列.

  3. 我的程序必须跟踪a Dictionary<string, QueueClient>和a Dictionary<string, MessageSender>- 这比它应该更复杂.

现在我对Azure SDK更熟悉了......我意识到这个QueueClient类可以发送和接收 ......那么为什么我要跟踪2个对象,而第一个可以同时执行这两个对象?

题:

有没有理由使用MessageSender该类而不是QueueClient类?

如果我需要发送和接收,我不应该只使用该QueueClient课程吗?

.net c# azure azure-queues

6
推荐指数
2
解决办法
2156
查看次数

授权RESTful服务的实际示例?

关于REST和安全性的主题,有许多关于SO的优秀问题(和答案).许多人说"纯粹主义者不喜欢这样,但是等等等等......"然后其他人说"你永远不应该这样做,因为等等等等".

但我还没有看到"纯粹主义者"为以下情况提出建议的解决方案.所以我的问题是 - 以下场景中的"纯RESTful解决方案"是什么?

简单的场景......

想象一下,建立一个数据库/网站,让用户管理自己喜欢的食谱.该网站公开了RESTful API,以便用户可以从他们想要编写的自定义程序(利用此API)查询和操作他们的列表.

因此,用户"A"有3个最喜欢的食谱,ID为"1","2"和"3".

用户"B"有两个最喜欢的食谱,ID为"4"和"5".

我们需要确保如果用户A发送DELETE命令/Recipes/4,他将得到Forbidden (403)响应.

我通常会做什么......

我通常会做的是让他们首先调用一个身份验证方法,然后向他们发送一些有效30分钟左右的auth-token.通常,此令牌将通过cookie传递.

什么是纯粹的解决方案?

纯REST解决方案是让它们将它作为查询字符串中的变量传递吗?饼干是魔鬼吗?令牌是否应该用作URL的一部分(而不是查询字符串参数)?还有其他东西可以清楚地回答这个问题吗?

security rest authorization restful-architecture

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

ASP.NET WebApi - 如何"允许"但不"需要"客户端证书?

在IIS中,我可以"忽略","允许"和"要求"客户端证书.

在ASP.NET WebAPI(刚刚推出的版本4.0)中,我似乎只能"忽略"或"需要".

默认情况下,客户端证书被忽略...所以此语句总是产生null:

var cert = actionContext.Request.GetClientCertificate();
Run Code Online (Sandbox Code Playgroud)

但是,如果我在我的配置上设置此标志:

config.ClientCredentialType = HttpClientCredentialType.Certificate;
Run Code Online (Sandbox Code Playgroud)

然后我获得客户端证书...但是,我不再能够允许匿名访问.

我的匿名客户端现在收到403错误:"远程服务器返回错误:(403)禁止."

我可以在IIS中做一些"允许"吗?

c# security ssl client-certificates asp.net-web-api

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

我可以在TSQL中为查询全局"设置NOCOUNT ON"吗?

有一个存储过程,我们正试图提高...的性能,此时我们正在寻找非侵入性的'修复'.

这个sproc每天被调用大约500,000次 - 它可以调用下面最多50个其他存储过程.- 不要问

请不要问'OMGz,为什么!?'的冲动 问题 - 但如果可以的话,只需回答这个问题:)

有没有办法SET NOCOUNT ON在一个sproc的顶部,并将它传播到下面的所有sprocs和语句?

编辑:从下面的前两个答案判断 - 这让我问...有没有办法在连接字符串中设置"用户选项",以便它适用于一个'用户'? - 像这样的任何'秘密提示'都会很棒.

t-sql performance sql-server-2008

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

SQL索引问题:为什么SQL Server更喜欢这个NONCLUSTERED索引到CLUSTERED索引?

我有以下查询:

SELECT
    COUNT(*)
FROM
    FirstTable ft
        INNER JOIN SecondTable st ON ft.STID = st.STID
Run Code Online (Sandbox Code Playgroud)

你可以猜到,"STID"是"SecondTable"的主键......而"FirstTable"将有一个指向第二个表的指针.以下是我的索引:

FirstTable:"STID"列上的非集群索引

SecondTable:CLUSTERED PRIMARY KEY关于"STID"的指数

上面的查询给我一个19.90的子树成本,需要2秒.

在为该查询运行数据库调优顾问程序之后,他们建议使用与第二个表相同的索引...但是非聚集.所以我尝试了这些结果.

FirstTable:"STID"列上的非集群索引

SecondTable:NONCLUSTERED关于"STID"的指数

现在,上面的查询给我一个10.97的子树成本,并且需要<1秒!

这100%粉碎了我的大脑......为什么NONCLUSTERED索引在这种情况下的执行速度比CLUSTERED索引快?

sql-server indexing performance clustered-index

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

在MSSQL(TSQL)中,我可以指定一个存在于连接字符串中的上下文变量,但不影响池化吗?

为了进一步解释这种需求,请考虑以下情况:

在严重依赖的遗留系统中TRIGGERS,我们需要提供某种类型的令牌(让我们称之为"SessionID")以插入到某些安全日志表中.此令牌在应用程序服务器的C#中创建,并将传递到所有 SQL命令中.

不过,这对触发器的要求是不可改变的

因此,因为我有权修改连接字符串,所以我可以(并且已经成功证明我可以)使用"应用程序名称"标记来提供这条信息.

string connectionString = string.Format("SERVER=sql.example.com; "
    + "DATABASE=someDB; User ID=xyz; Password=123; Application Name={0}", sID);
Run Code Online (Sandbox Code Playgroud)

既然这样有效,那有什么问题呢?

问题很简单......上面的工作,但由于我们有成千上万的用户...我们的连接池被销毁(因为连接池是基于连接字符串...基本上,我需要连接池到基于除了Application Name财产以外的一切).

所以,你知道我怎么做:

  1. 在连接字符串中设置一个不包含在池中的属性.
  2. 为这个连接设置一个上下文属性,其他方式对性能并不是特别重.

作为旁注...我可以立即打开连接并创建一个具有单个值的临时表:

SELECT 12345 AS SessionID INTO #context
Run Code Online (Sandbox Code Playgroud)

但这似乎令人难以置信的矫枉过正!

c# connection-string sql-server-2008

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