小编sla*_*shp的帖子

为什么我的ASP.NET Web API ActionFilterAttribute OnActionExecuting没有触发?

我正在尝试实现这里看到的内容:http://www.piotrwalat.net/nhibernate-session-management-in-asp-net-web-api/但我遇到了问题NhSessionManagementAttribute.

我已经设置了断点OnActionExecuting(HttpActionContext actionContext),看看函数是否被调用 - 事实并非如此.

我仔细检查了我的global.asax.cs文件,发现我实际上正在注册ActionFilter:

GlobalConfiguration.Configuration.Filters.Add(new NhSessionManagementAttribute());
Run Code Online (Sandbox Code Playgroud)

我还装饰了我的控制器类本身,以及它对属性的操作无济于事:

public class ClientsController : ApiController {
    static readonly ClientRepository repository = new ClientRepository();

    [NhSessionManagement]
    public IEnumerable<Client> GetAllClients() {
        return repository.GetAll();
    }

    [NhSessionManagement]
    public Client GetClient(int id) {
        Client client = repository.Get(id);
        if (client == null) {
            throw new HttpResponseException(
                new HttpResponseMessage(HttpStatusCode.NotFound)
            );
        }
        return client;
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么此操作过滤器不会触发其中的任何事件?

c# action-filter actionfilterattribute asp.net-web-api

70
推荐指数
3
解决办法
5万
查看次数

atom-typescript抱怨tsconfig.json - 我该如何自动创建一个?

我刚开始玩这里引用的"atom-typescript"插件:

TypeScript入门

页面声明要使用atom-typescript,我们只需要:

现在创建一个新的.ts TypeScript文件并开始破解.AtomTS将负责将其编译为.js并为您创建一个默认的tsconfig.json TypeScript项目文件.

这是不是情况,因为我已经创建了一个简单的目录结构,并试图建立任何时候*的.ts文件中收到以下错误:

找不到项目文件. 请使用

错误状态我需要利用'创建tsconfig.json项目文件'命令 - 我根本无法找到此命令.

我知道我可以手动创建文件,但我想知道文件是否可以自动创建.谢谢!

typescript atom-editor

38
推荐指数
2
解决办法
9087
查看次数

C# - 何时在高活动性服务器中使用标准线程,ThreadPool和TPL

我最近一直在阅读很多关于线程的内容,因为我正在寻找能够处理多达10,000-20,000个客户端的高性能,可扩展的TCP服务器,每个客户端都通过基于命令的方式与服务器进行双向通信.系统.服务器将接收命令,并根据命令执行单个(或多个)任务.我的问题是如何在各种情况下适当地使用.NET线程构造,执行可能需要一分钟到几个小时的任务,具体取决于正在执行的工作.

最令我困惑的是,无论我在哪里阅读,我都会看到"使用手动创建的线程(或自定义线程池)来处理'长期运行'任务,并使用TPL执行短期任务或任务需要并行处理." 究竟什么长期任务?这是5秒,60秒,一小时吗?

我应该在什么时间框架中使用这三种创建线程的方法:

  • 手动创建的线程
  • .NET ThreadPool类
  • TPL

我想到的另一个问题如下 - 说我的服务器实际上连接了20,000个客户端,每个客户端每秒发送1个命令(可以转换为一个或多个任务).即使使用强大的硬件,我也不可能将过高的工作负载推送到我拥有的任何线程池/工作项队列中,从而最终在队列缓慢填充到最大值后生成OutOfMemoryException?

任何见解将不胜感激.

c# multithreading threadpool c#-4.0

28
推荐指数
3
解决办法
6059
查看次数

在TypeScript中声明模块与引号与不引用之间的区别是什么?

我是编写TypeScript定义文件的开始,想知道以下两个结构之间的区别:

declare module activedirectory
Run Code Online (Sandbox Code Playgroud)

declare module "activedirectory"
Run Code Online (Sandbox Code Playgroud)

出于某种原因,前者允许我在我的一个Angular服务中使用任何类而没有任何类型的导入声明(例如,import activedirectory = require('activedirectory')每当我在我的代码中声明后者时,它都会破坏对我的内部模块的引用,例如:

module myModule.Services {
    'use strict';

    export class MyService implements myModule.Interfaces.IMyService {
    .....
Run Code Online (Sandbox Code Playgroud)

无法再找到"myModule.Interfaces"命名空间.

typescript

8
推荐指数
1
解决办法
1613
查看次数

为什么我的视图模型不能与实现接口的通用ViewModel绑定?(ASP.NET MVC 3)

我试图通过我的View传递以下ViewModel的实例:

public class CompanyListViewModel<T> where T : ICompany
{
    public IEnumerable<T> CompanyList;
    public IEnumerable<string> StateList;

    public CompanyListViewModel(IEnumerable<T> list)
    {
        CompanyList = list;
    }
}
Run Code Online (Sandbox Code Playgroud)

View采用的方式如下:

@model Project.ViewModels.CompanyViewModels.CompanyListViewModel<ICompany>
Run Code Online (Sandbox Code Playgroud)

我的控制器代码将这样的内容传递给View:

CompanyListViewModel<ICompanyInListAsUser> model = new CompanyListViewModel<ICompanyInListAsUser>(_companyService.FilterByCompanyState(state));
Run Code Online (Sandbox Code Playgroud)

ICompanyInListAsUser接口实现的ICompany接口.本_companyService.FilterByCompanyState(state))类返回IEnumerableCompany对象,进而实现ICompanyInListAsUser接口.

出于某种原因,访问我的视图时收到以下错误:

The model item passed into the dictionary is of type 'Project.ViewModels.CompanyViewModels.CompanyListViewModel`1[Project.ViewModels.CompanyViewModels.ICompanyInListAsUser]', but this dictionary requires a model item of type 'Project.ViewModels.CompanyViewModels.CompanyListViewModel`1[Project.ViewModels.CompanyViewModels.ICompany]'.

如果ICompanyInListAsUser接口确实实现了,为什么我收到此错误ICompany

任何帮助将不胜感激.

谢谢.

编辑

我还想说明我想在这里实现的目标.假设我的应用程序中有多个访问级别(例如用户和管理员).如果我的Company …

c# asp.net-mvc interface viewmodel asp.net-mvc-3

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

是否有可能创建具有数千个长时间运行的TCP连接的可伸缩WCF服务?

我正在尝试创建一个WCF服务,其中数千(~10,000)个客户端可以通过双工NetTcpBinding连接很长一段时间(几周,也许几个月).

经过一些阅读后,看起来在IIS中托管比自定义应用程序或Windows服务更好.

是否可以使用WCF来接受这种服务,甚至可能?如果是这样,我可以在哪里遇到限制或性能问题,例如增加WCF ListenBacklog和MaxConcurrentConnections?

谢谢!

c# wcf .net-4.0 nettcpbinding

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

为什么导入节点模块会破坏atom-typescript中的内部Typescript命名空间?

我有一个非常小的节点Typescript项目,具有以下结构:

应用结构

尝试在我的index.ts文件中导入"diff"模块时,如下所示:

import * as diff from 'diff';
Run Code Online (Sandbox Code Playgroud)

Atom-typescript突然失去了定位我的"fgtApp.Interfaces"命名空间的能力:

丢失内部命名空间的自动完成功能

一旦我删除了import语句,node就能解析"fgtApp.Interfaces"命名空间,不会出现这样的问题:

自动完成工作正常,无需导入声明

这是atom-typescript中的错误还是我对导入这些外部模块的方式的理解中的错误?

typescript

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

RxJS - FlatMap观察者多次调用

我试图了解flatMap的工作原理.我知道这是一种处理Observable <Observable <T >>的方法.

无论如何,我正在测试它的行为并且坚持这个:

let plusDom = document.querySelector('#plus');
let minusDom = document.querySelector('#minus');

let minusSource = Rx
              .Observable
              .fromEvent(minusDom, 'click');

let plusSource = Rx.Observable
  .fromEvent(plusDom, 'click');

plusSource
  .flatMap(function(c){
    console.log('Flatmap called');
    return minusSource;
  })
  .subscribe(function(e){
  console.log('done');
})
Run Code Online (Sandbox Code Playgroud)

这里是jsbin:https://jsbin.com/sefoyowuqe/edit html,js,console,output

我不明白这种行为:

3 clicks on plusDom prints:
Flatmap called
Flatmap called
Flatmap called
Run Code Online (Sandbox Code Playgroud)

1单击minusDom打印:

done
done
done
Run Code Online (Sandbox Code Playgroud)

为什么在点击minusDom时,它会像点击plusDom那样多次重放事件?

rxjs

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

我可以在Angular 2动画状态下应用CSS类吗?

我试图利用Angular 2的动画功能,但发现我似乎无法设置与状态关联的CSS类,而我必须硬编码样式值,如下所示:

@Component({
  animations: [
    trigger('responseState', [
      state('default', style({
        color: '#31708f',
        backgroundColor: '#d9edf7',
        borderColor: '#bce8f1'
      })),
      state('success', style({
        color: '#3c763d',
        backgroundColor: '#dff0d8',
        borderColor: '#d6e9c6'
      })),
      state('error', style({
        color: '#a94442',
        backgroundColor: '#f2dede',
        borderColor: '#ebccd1'
      })),
      transition('default <=> success', animate('500ms ease-in')),
      transition('default <=> error', animate('500ms ease-in')),
      transition('error <=> success', animate('500ms ease-in'))
    ])
  ]
})
Run Code Online (Sandbox Code Playgroud)

我希望做的是:

@Component({
  animations: [
    trigger('responseState', [
      state('default', style({
        class: '.default-state'
      })),
      state('success', style({
        class: '.success-state'
      })),
      state('error', style({
        class: '.error-state'
      }))
    ])
  ]
})
Run Code Online (Sandbox Code Playgroud)

谁能告诉我这是否可行吗?

angular

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

ServiceStack REST API设计

我开始玩ServiceStack了,到目前为止我很享受它,但我认为我的设计从开始就有缺陷.基本上,我有一个MSSQL数据库,我通过NHibernate访问.由于我的请求/响应DTO和服务应采取什么结构,我的困惑即将到来.

我将我的NHibernate映射放在MyProject.Common.Models下的一个单独的项目中,它包含一个"Client"类,如下所示:

namespace MyProject.Common.Models
{
    public class Client
    {
        public virtual int ClientID { get; set; }
        public virtual string Name { get; set; }
        public virtual string Acronym { get; set; }
        public virtual string Website { get; set; }
    }

    public class ClientMap : ClassMap<Client>
    {   
        public ClientMap()
        {
            Id(x => x.ClientID, "ClientID").GeneratedBy.Identity();

            Map(x => x.Name, "Name");
            Map(x => x.Acronym, "Acronym");
            Map(x => x.Website, "Website");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想为客户端提供CRUD单个客户端的能力,以及显示所有客户端的列表.到目前为止,我设计了我的单个客户端请求,如下所示:

[Route("/clients/{Id}", "GET")]
public class ClientRequest : IReturn<ClientResponse>
{
    public …
Run Code Online (Sandbox Code Playgroud)

c# rest web-services servicestack

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

为什么我的CSS3盒子阴影不能正常工作?

我正在使用最新版本的Chrome,当我使用圆角时,我无法让盒子阴影在我的div上正确显示..看起来像是切断了什么,请看下面的截图:

在此输入图像描述

您可以在http://chronologic.ath.cx/Gardner/上看到测试站点

谢谢,

slashp

css css3

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

为什么对dragstart事件的preventDefault会保留选中的元素?

我试图使用以下Javascript阻止我的页面上的任何拖放:

document.addEventListener('dragstart', function (e) {
      e.preventDefault();
    });
Run Code Online (Sandbox Code Playgroud)

不幸的是,即使这确实阻止了拖放行为,拖动的元素也会保持选中状态(就像鼠标悬停在元素上一样),直到选择了另一个元素.

例如,如果我单击并拖动"AD CONFIG",您可以看到它仍然显示为鼠标在链接上方:

链接保持选中状态

如何在仍然触发相应事件的同时禁用拖放以防止上述行为发生?

编辑:这是一个Plunker:http://plnkr.co/edit/pWZqe7uohqlVxMwyAS4d?p = preview

javascript jquery

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