小编jos*_*rry的帖子

什么是最小有效JSON?

我仔细阅读了JSON描述http://json.org/,但我不确定我是否知道这个简单问题的答案.哪些字符串是最小可能的有效JSON?

  • "string" 字符串是有效的JSON吗?
  • 42 是简单的数字有效JSON?
  • true 布尔值是有效的JSON吗?
  • {} 空对象是有效的JSON吗?
  • [] 空数组是一个有效的JSON吗?

javascript validation json

157
推荐指数
5
解决办法
6万
查看次数

ThreadStatic属性如何工作?

[ThreadStatic]属性如何工作?我假设编译器会发出一些IL来填充/检索TLS中的值,但是看一下反汇编它似乎不会在那个级别上执行.

作为跟进,如果你把它放在非静态成员身上会发生什么?我们有一个开发人员犯了这个错误,编译器甚至没有提出警告.

更新

第二个问题在这里回答:使用Static C#修改ThreadStatic

c# static threadstatic

134
推荐指数
4
解决办法
6万
查看次数

如何在哈希表和Trie(前缀树)之间进行选择?

因此,如果我必须在哈希表或前缀树之间进行选择,那么哪些区别因素会导致我选择一个而不是另一个.从我自己的天真的角度来看,似乎使用trie有一些额外的开销,因为它没有存储为数组但是就运行时而言(假设最长的键是最长的英语单词)它可以基本上是O (1)(就上限而言).也许最长的英文单词是50个字符?

获得索引后,哈希表会立即查找.然而,散列获得索引的关键似乎很容易接近50步.

有人能为我提供更有经验的观点吗?谢谢!

algorithm hashtable trie data-structures

128
推荐指数
6
解决办法
5万
查看次数

为什么我的ChannelFactory没有看到我的端点配置?

我一直在关注米格尔·卡斯特罗对WCF优秀文章在这里,这一切都工作很好,但我有以下代码

public AdminClient()
{
    ChannelFactory<IProductAdmin> factory = new ChannelFactory<IProductAdmin>();
    productAdminChannel = factory.CreateChannel();
}
Run Code Online (Sandbox Code Playgroud)

在我的app.config文件中,我有以下配置:

<system.serviceModel>
    <client>
        <endpoint address="net.tcp://localhost:8002/ProductBrowser"
                  binding="netTcpBinding"
                  contract="Contracts.IProductAdmin" />
    </client>
</system.serviceModel>
Run Code Online (Sandbox Code Playgroud)

但是,当我运行AdminClient的构造函数时,我得到一个异常,说明端点没有定义.但是,如果我更改配置以给端点命名,然后按如下方式创建工厂,则它可以工作.

public AdminClient()
{
    var fac = new ChannelFactory<IProductAdmin>("admin");
    productAdminChannel = fac.CreateChannel();
}
Run Code Online (Sandbox Code Playgroud)
<system.serviceModel>
    <client>
        <endpoint name="admin" 
                  address="net.tcp://localhost:8002/ProductBrowser"
                  binding="netTcpBinding"
                  contract="Contracts.IProductAdmin" />
    </client>
</system.serviceModel>
Run Code Online (Sandbox Code Playgroud)

我喜欢这个的解释.MSDN中的文档没有太大帮助......

wcf

48
推荐指数
1
解决办法
2万
查看次数

如何忽略Vim和syntastic的角度指令lint错误

当我使用专有的html属性时,Syntastic的lint工具会不断警告我,这一点令人困惑,尤其是在使用Angular指令时.

在此输入图像描述

这很快就淹没了我的html中的实际错误,减少了linter错误的值,并增加了视觉噪音.

无论如何要避免这种情况吗?

vim angularjs syntastic

30
推荐指数
1
解决办法
5463
查看次数

如何检索用户所属的所有角色(组)?

有没有办法获取Windows身份验证用户所在的角色列表,而无需通过WindowsPrincipal.IsInRole方法明确检查?

.net rbac windows-principal windows-identity

24
推荐指数
3
解决办法
2万
查看次数

绑定ToConstant并调用InSingletonScope是多余的?

好吧,这个问题很简单地用标题来说明.

对于局部变量factory:

var factory = Fluently.Configure()
...
Run Code Online (Sandbox Code Playgroud)

这两行是否相同:

Bind<ISessionFactory>().ToConstant(factory).InSingletonScope();
Run Code Online (Sandbox Code Playgroud)

和:

Bind<ISessionFactory>().ToConstant(factory);
Run Code Online (Sandbox Code Playgroud)

c# ninject

22
推荐指数
1
解决办法
4077
查看次数

在C#中使用相同布局强制不同命名空间中的类型

我已经开始为FedEx的webservice API编写一个接口.他们有3种不同的API,我很感兴趣; 费率,发货和跟踪.我正在使用SvcUtil.exe生成服务代理.

FedEx在自己的WSDL文件中指定了不同的服务端点.每个服务端点都有自己的xml命名空间(例如http://fedex.com/ws/rate/v5http://fedex.com/ws/ship/v5)

服务端点确实使用了相当多的相同类型,例如Address,Measurements,Weight,AuthenticationDetail,ClientDetail等......

这就是问题所在,我可以同时向SvcUtil.exe提供所有WSDL文件,通常它会将任何相同的类型合并为一个共享类型,但由于FedEx的每个服务都在它们自己的命名空间中,他们在该命名空间下的每个WSDL文件中重新声明这些类型,而不是每个命名空间的Address,Address1和Address2.

为了解决这个问题,我现在要做的是分别通过svcutil运行每个WSDL,并将它们分别放在自己的.NET命名空间中(例如FedEx.Rate,FedEx.Ship,FedEx.Track).这个问题是现在我在每个命名空间中都有一个不同的地址类型(Fedex.Rate.Address,FedEx.Ship.Address).

这使得很难概括像GetAuthenticationDetail()工厂方法之类的服务之间使用的代码,因此我不必在每个使用不同服务的地方重复该代码.

在C#中是否有任何方法可以将FedEx.Rate.Address强制转换为FedEx.Ship.Address?

.net c# types web-services coerce

12
推荐指数
2
解决办法
3018
查看次数

需要示例fire并忘记对WCF服务的异步调用

在预定的时间间隔,我需要调用WCF服务异步调用另一个WCF服务.调度我已经解决的WCF服务调用.

我认为我需要的东西,我已经在stackoverflow上读到了必须...,(实质上)准备或更改WCF服务的代码,以便能够处理对它们的异步调用.如果是这样的话,那个简单的例子是什么样的?(也许是前后的例子)在.Net 3.5中还有必要吗?

其次我使用来自WCF服务的代理来执行对下一个WCF服务的调用,并且需要一个对WCF服务的异步调用的样本,如果它看起来与具有典型异步示例的BeginEnvoke和EndEnvoke的典型不同.

如果我对我的问题完全不满意,我会相信它,并且会感谢任何更正以建立更好的问题.

c# wcf asynchronous

12
推荐指数
2
解决办法
1万
查看次数

XAML绑定到ViewModel上的CollectionViewSource属性

我有一个简单的ViewModel,如:

public class MainViewModel {
    ObservableCollection<Project> _projects;
    public MainViewModel() {
        // Fill _projects from DB here...
        ProjectList.Source = _projects;
        ProjectList.Filter = ...;
    }

    public CollectionViewSource ProjectList { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我将窗口的DataContext设置为构造函数中该ViewModel的新实例:

public MainWindow() {
    this.DataContext = new MainViewModel();
}
Run Code Online (Sandbox Code Playgroud)

然后在Xaml中,我试图将ListBox的ItemsSource绑定到该ProjectList属性.

像这样绑定ItemsSource是行不通的:

<ListBox ItemsSource="{Binding ProjectList}" ItemTemplate="..." />
Run Code Online (Sandbox Code Playgroud)

但是,如果我首先重新定义DataContext,它的工作原理如下:

<ListBox DataContext="{Binding ProjectList}" ItemsSource="{Binding}" ItemTemplate="..." />
Run Code Online (Sandbox Code Playgroud)

第一种方法不应该正常工作吗?我可能做错了什么?

wpf xaml binding

12
推荐指数
1
解决办法
2万
查看次数