小编Ala*_*nut的帖子

理解没有角度的TypeScript和SystemJS

我最近一直在用TypeScript研究和做简单的"hello worlds".有些事我认为我无法解决这个问题,那就是如何将System.js与TypeScript一起使用.互联网上的每一个教程或演示都是关于Angular2的,我还不想参与Angular 2.

举个例子,我有以下项目结构:

RootFolder
| 
| _lib
| ...... ts (where .ts files are)
|
| components (where compiled .js files are)
| libraries
| ......... systemjs (where system.js is)
|
| index.html
| tsconfig.json
Run Code Online (Sandbox Code Playgroud)

我的tsconfig.json文件看起来像:

{
  "compileOnSave": true,
  "compilerOptions": {
    "noImplicitAny": true,
    "noEmitOnError": true,
    "removeComments": false,
    "sourceMap": true,
    "target": "es5",
    "module": "system",
    "moduleResolution": "node",
    "outDir": "./components"
  },
  "exclude": [
    "node_modules",
    "wwwroot"
  ],
  "include": [
    "./_lib/ts/**/*"
  ]
}
Run Code Online (Sandbox Code Playgroud)

TypeScript编译按预期工作,没有问题.我创建了一个名为"Alerter"的简单类,其中包含以下代码:

//alerter.ts
class Alerter {
    showMessage(): void {
        alert("Message displayed.");
    } …
Run Code Online (Sandbox Code Playgroud)

module typescript systemjs typescript2.0 es6-modules

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

如何限制SignalR服务器连接?

我有一个SignalR应用程序.托管在Windows服务中(使用OWIN和Katana作为自托管)并且正在mydomain.com上听取:8080

在同一台服务器上,我还有一个MVC应用程序,它基本上是一个连接到我上面提到的SignalR集线器的网站.

我想限制只对我的MVC应用程序访问我的SignalR应用程序.我搜索过互联网,但没有举例说明这一点.

是否有可能实现这一目标?如何获取有关连接是来自我的MVC应用程序还是来自其他应用程序的信息?我是否需要为自己的MVC应用程序实现授权才能连接到我的SignalR应用程序?

现在,互联网上的每个人都可以访问mydomain.com:8080/signalr端点,这基本上意味着竞争对手可以编写连接到我的SignalR集线器并使用它的客户端.有哪些选项可以防止出现这种情况?

ps:请提供更多信息 - 如果您需要 - 而不是仅仅将帖子标记为"非建设性",因为我不知道这个问题如何被提出更具"建设性"

self-hosting signalr signalr-hub owin

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

Asp.Net MVC,WebApi和正确的异步方法

我有一个多层Web应用程序,最近我决定将我的服务层(在本例中为WebApi)转换为异步处理.

在这方面,我转换了所有的WebApi方法来实现任务,在MVC部分,我实现了一个业务层来调用WebApi.

我的MVC控制器只是使用业务层类来获取视图数据.

我对.Net 4.5中基于任务的编程有点新意,想知道我的方法是正确还是有缺陷.在我的简单测试中,我看到响应时间的性能提高,但我不确定我的所有异步调用是否安全或容易出错.

代码示例:

WebApi动作:

[Route("category/withnews/{count:int=5}")]
        public async Task<IEnumerable<NewsCategoryDto>> GetNewsCategoriesWithRecentNews(int count)
        {
            return await Task.Run<IEnumerable<NewsCategoryDto>>(() =>
                {
                    using (var UoW = new UnitOfWork())
                    {
                        List<NewsCategoryDto> returnList = new List<NewsCategoryDto>();

                        var activeAndVisibleCategories = UoW.CategoryRepository.GetActiveCategories().Where(f => f.IsVisible == true);
                        foreach (var category in activeAndVisibleCategories)
                        {
                            var dto = category.MapToDto();
                            dto.RecentNews = (from n in UoW.NewsRepository.GetByCategoryId(dto.Id).Where(f => f.IsVisible == true).Take(count)
                                              select n.MapToDto(true)).ToList();

                            returnList.Add(dto);
                        }

                        return returnList;
                    }
                });
        }
Run Code Online (Sandbox Code Playgroud)

调用此API的业务类方法(MVC应用程序中的NewsService类)

public async Task<IndexViewModel> GetIndexViewModel()
        {
            var model = new IndexViewModel();

            using …
Run Code Online (Sandbox Code Playgroud)

c# task async-await asp.net-mvc-4 asp.net-web-api2

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

C#中的宾果算法

我正在尝试创建一个宾果卡,应该使用以下规则进行设置:

  • 宾果卡将有 9 列和 3 行
  • 必须有5个数字
  • 一行中的每个 oter 后面不能有超过 2 个空块
  • 一行中不能超过 2 个数字

到目前为止,我已经设法创建了一张包含 9 列和 3 行的卡片,并用唯一的随机数填充了卡片,但我不知道如何实现第三条和第四条规则。

最后,宾果卡应该类似于:

1     EMPTY   18     EMPTY   12     EMPTY     40    EMPTY 32

EMPTY 2       EMPTY  EMPTY   67     33        EMPTY 44    EMPTY

90    EMPTY   79     EMPTY   38     EMPTY     55    EMPTY 71
Run Code Online (Sandbox Code Playgroud)

在我的算法中,我不知道如何放置 EMPTY 块并避免重复它们两次以上

我的卡片生成器功能是:

public GameCard GetCard()
    {
        //This is the list of all numbers between 1 and 99
        var availableNumbers = Enumerable.Range(CARD_NUM_MIN, CARD_NUM_MAX).ToList();
        var card = new GameCard();

        //looping …
Run Code Online (Sandbox Code Playgroud)

c# algorithm

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