我最近一直在用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) 我有一个SignalR应用程序.托管在Windows服务中(使用OWIN和Katana作为自托管)并且正在mydomain.com上听取:8080
在同一台服务器上,我还有一个MVC应用程序,它基本上是一个连接到我上面提到的SignalR集线器的网站.
我想限制只对我的MVC应用程序访问我的SignalR应用程序.我搜索过互联网,但没有举例说明这一点.
是否有可能实现这一目标?如何获取有关连接是来自我的MVC应用程序还是来自其他应用程序的信息?我是否需要为自己的MVC应用程序实现授权才能连接到我的SignalR应用程序?
现在,互联网上的每个人都可以访问mydomain.com:8080/signalr端点,这基本上意味着竞争对手可以编写连接到我的SignalR集线器并使用它的客户端.有哪些选项可以防止出现这种情况?
ps:请提供更多信息 - 如果您需要 - 而不是仅仅将帖子标记为"非建设性",因为我不知道这个问题如何被提出更具"建设性"
我有一个多层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) 我正在尝试创建一个宾果卡,应该使用以下规则进行设置:
到目前为止,我已经设法创建了一张包含 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# ×2
algorithm ×1
async-await ×1
es6-modules ×1
module ×1
owin ×1
self-hosting ×1
signalr ×1
signalr-hub ×1
systemjs ×1
task ×1
typescript ×1