小编Ant*_*lin的帖子

在Angular 2,4,5,6中实现插件架构/插件系统/可插拔框架

更新5/24/2018:我们现在从我的原始帖子中获得了+3版本的Angular,但仍然没有最终可行的解决方案.Lars Meijdam(@LarsMeijdam)提出了一个有趣的方法,当然值得一看.(由于专有问题,他不得不暂时删除他最初发布样本的GitHub存储库.但是,如果您需要副本,可以直接给他发消息.请参阅下面的评论以获取更多信息.)

Angular 6中最近的架构变化确实使我们更接近解决方案.此外,Angular Elements(https://angular.io/guide/elements)提供了一些组件功能 - 尽管不是我在本文中最初描述的内容.

如果来自令人惊奇的Angular团队的任何人碰巧碰到了这个,请注意,似乎还有很多其他人也对这个功能非常感兴趣.积压可能值得考虑.


我想实现在一个可插拔(插件)的框架Angular 2,Angular 4,Angular 5,或Angular 6应用程序.

(我开发这个可插拔框架的具体用例是我需要开发一个微型内容管理系统.由于这里不一定详述的一些原因,Angular 2/4/5/6它几乎完全适合该系统的大多数需求.)

通过可插拔框架(或插件架构),我特别指的是一个允许第三方开发人员通过使用可插拔组件创建或扩展主应用程序功能的系统,而无需直接访问或了解主应用程序的源代码或内部运作.

(关于" 没有直接访问或了解应用程序的源代码或内部工作 "的措辞是一个核心目标.)

可插入框架的示例包括常见的内容管理系统,如WordPressDrupal.

理想情况(与Drupal一样)是简单地将这些可插入组件(或插件)放入文件夹,让应用程序自动检测或发现它们,让它们神奇地"工作".以某种热插拔方式发生这种情况,意味着在应用程序运行时,这将是最佳的.

我目前正在尝试确定以下五个问题的答案(在您的帮助下).

  1. 实用性:Angular 2/4/5/6应用程序的插件框架是否实用?(到目前为止,我还没有找到任何实用的方法来创建一个真正的可插拔框架Angular2/4/5/6.)
  2. 预期的挑战:在为Angular 2/4/5/6应用程序实现插件框架时可能会遇到哪些挑战?
  3. 实施策略:可以采用哪些具体技术或策略来实现Angular 2/4/5/6应用程序的插件框架?
  4. 最佳实践:Angular 2/4/5/6应用程序实现插件系统的最佳实践是什么?
  5. 替代技术: 如果插件框架在应用程序中实用Angular 2/4/5/6,那么相对等效的技术(例如React)可能适用于现代高反应性Web应用程序

一般来说,使用Angular …

plugins angular-cli angular-universal angular

123
推荐指数
5
解决办法
2万
查看次数

ASP.NET MVC3角色和权限管理 - >使用运行时权限分配

ASP.NET MVC允许用户在设计时分配功能(即操作)的权限,就像这样.

[Authorize(Roles = "Administrator,ContentEditor")]
public ActionResult Foo()
{
    return View();
}
Run Code Online (Sandbox Code Playgroud)

要实际检查权限,可以在(Razor)视图中使用以下语句:

@if (User.IsInRole("ContentEditor"))
{
    <div>This will be visible only to users in the ContentEditor role.</div>
}
Run Code Online (Sandbox Code Playgroud)

此方法的问题是必须在设计时设置所有权限并将其指定为属性.(属性与DLL编译所以我目前知道任何机制的应用属性(以允许额外的权限),如[授权(角色="管理员,ContentEditor")]在运行时.

在我们的用例中,客户端需要能够在部署后更改用户拥有哪些权限.

例如,客户端可能希望允许ContentEditor角色中的用户编辑特定类型的某些内容.可能不允许用户编辑查找表值,但现在客户端希望允许此操作而不授予用户下一个更高角色的所有权限.相反,客户端只想修改用户当前角色可用的权限.

有哪些策略可用于允许在属性之外(如在数据库中)定义MVC控制器/视图/动作的权限,并在运行时进行评估和应用?

如果可能,我们非常希望尽可能地坚持ASP.NET成员资格和角色提供程序功能,以便我们可以继续利用它提供的其他好处.

提前感谢您的任何想法或见解.

asp.net asp.net-mvc asp.net-membership asp.net-roles asp.net-mvc-3

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

Dapper:映射层次结构和单个不同的属性

我真的很喜欢Dapper的简约和可能性.我想用Dapper来解决我日常面临的共同挑战.这些描述如下.

这是我的简单模型.

public class OrderItem {
    public long Id { get; set; }
    public Item Item { get; set; }
    public Vendor Vendor { get; set; }
    public Money PurchasePrice { get; set; }
    public Money SellingPrice { get; set; }
}

public class Item
{
    public long Id { get; set; }
    public string Title { get; set; }
    public Category Category { get; set; }
}

public class Category
{
    public long Id { get; set; }
    public …
Run Code Online (Sandbox Code Playgroud)

.net c# dapper

16
推荐指数
2
解决办法
1250
查看次数

最大编辑距离和基于词频的建议

我需要一个符合以下规范的拼写检查器:

  • 非常可扩展.
  • 能够为建议的单词设置最大编辑距离.
  • 根据提供的单词频率(最常见的单词首先)获得建议.

我接过一看的hunspell:
我发现参数MAXDIFF的人,但似乎并没有像预期的那样工作.也许我用错了方法

文件t.aff:

MAXDIFF 1 
Run Code Online (Sandbox Code Playgroud)

文件dico.dic:

5  
rouge  
vert  
bleu  
bleue  
orange  
Run Code Online (Sandbox Code Playgroud)

-

NHunspell.Hunspell h = new NHunspell.Hunspell("t.aff", "dico.dic");
List<string> s = h.Suggest("bleuue");
Run Code Online (Sandbox Code Playgroud)

返回相同的东西t.aff是否为空:

bleue
bleu
Run Code Online (Sandbox Code Playgroud)

c# c++ nlp spell-checking hunspell

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

Upshot/Knockout架构最佳实践 - 在Upshot和.NET之间进行通信时,首选的提供程序是什么?

对于当前项目,我试图了解如何有效地利用Knockout 2.1.0,Upshot 1.0.0.2,ASP.NET MVC4和Entity Framework 4.3.有许多基本的架构问题似乎没有现成的答案.我列举了我的几个问题(在单独的帖子中),希望有人能够在我们尝试在实际应用程序中实现这种组合时为自己和他人提供合理的指导.

史蒂夫桑德森在二月淘汰赛和Upshot.js在TechDays荷兰真棒演讲,他提到的结果可以容纳连接到服务器的多种方法.(如果您还没有看过演示文稿,那么值得观看.您可以在http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2159查看.)

不幸的是,他没有时间详细说明这些通信机制是什么或推荐的是什么以及在什么情况下.

根据Denver Developer在他的博客文章"挖掘到Upshot.js"(http://denverdeveloper.wordpress.com/2012/03/07/digging-into-upshot-js/)的说法,有三个数据提供者被公开Upshot.js.这些是:

•默认值为DataProvider(),并使用/ Submit方法和您提供的操作来使用jQuery的$ .ajax方法获取数据.(AG注意:我认为这通常与WebAPI公开的DbDataController对象有关,但我不确定它们的确有什么限制.)

•下一个是riaDataProvider() - 与第一个类似,但它使用/ json/SubmitChanges方法和/ json/{your opertion}来获取数据

•最后我们还有odataDataProvider() - 这个是完全不同的,因为它目前不支持更新数据 - 它是只读的.

关于选择典型用途的提供者,自然​​会出现许多密切相关的问题.

  • 哪个数据提供商更好 - 默认数据提供商或RIA数据提供商?
  • 建议哪一种正常使用,在什么情况下使用?
  • 使用普通DataProviderriaDataProvider有什么性能影响?

在相关的说明中,关于互联网上的结果的文档似乎很少.除了在upshot.js中浏览4700多行代码之外,这个库还有其他合适的文档来源吗?

到目前为止,我所查看的资源包括以下内容(以及更多内容).

asp.net-mvc asp.net-web-api upshot knockout.js breeze

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

我在哪里可以找到,或者我如何构建C#的漫画器?

我正在使用C#和Silverlight开发.NET中的大型多人在线角色扮演游戏(MMORPG).此游戏所要求的功能之一是允许玩家上传自己的头像.

我们不是以原始形式显示上传的图像,而是将图像转换为卡通形式 - 换句话说,将图像卡通化.

http://www.hongkiat.com/blog/11-sites-to-create-cartoon-characters-of-yourself/上列出了几个可以完成此任务的站点.

我意识到这些网站正在应用图像过滤器来创建卡通图像.坦率地说,我不清楚这些卡通图像过滤器算法可能是什么样子,或者我可以使用C#或.NET中已有的东西.如果没有可用的库,我很好奇滚动自己的库是多么困难.

这是一个次要的游戏功能,所以我不想花费一周或更长的编码时间来实现这一点.但是,如果我能在一天内编写我需要的代码,那么它可能是可行的.

在这一点上,我主要是寻求指导

  • 什么是可能的
  • 哪些库已经可用(最好是开源)
  • 在哪里我可以找到其他信息
  • 您可以提供的任何其他建议或指导

先感谢您!

.net c# image-manipulation image-processing

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

适用于.NET Standard 1.x的Type.GetInterfaces()变通方法

.NET Core 1.1支持Type.GetInterfaces()方法,该方法提供在给定类型上实现的接口列表.不幸的是,Type.GetInterfaces()还没有.NET Standard 1.x.

好消息是它应该包含在内.NET Standard 2.0.

与此同时,有没有人知道我可以用来获取类型和/或实现给定接口的类列表上的接口列表的变通方法.NET Standard 1.x

非常感谢!

c# reflection .net-core asp.net-core-1.0 .net-standard

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

Lotus Notes/Lotus Domino出了什么问题

我有一个客户端使用Lotus Domino作为他们的Web应用程序/服务器平台.客户端有两个"Web开发人员",他们比使用更多主流工具和技术更熟悉Lotus Domino,并且不热衷于进行切换.我被要求提供一个评估,说明为什么迁移到不同的Web应用程序平台可能是谨慎的.

我对理解与平台相关的缺陷特别感兴趣,因为我对Domino知之甚少,但对其他平台非常熟悉.

除了Apache拥有超过70%的Web服务器市场,IIS超过21%,Lotus几乎为0%这一事实,您还有什么其他理由可以摆脱这个平台?

谢谢您的帮助!

apache iis lotus-notes lotus lotus-domino

6
推荐指数
3
解决办法
3360
查看次数

将Python中的SHA哈希计算转换为C#

有人可以帮我把以下两行python转换成C#.

hash = hmac.new(secret, data, digestmod = hashlib.sha1)
key = hash.hexdigest()[:8]
Run Code Online (Sandbox Code Playgroud)

如果您有兴趣,其余的看起来像这样:

#!/usr/bin/env python

import hmac
import hashlib


secret = 'mySecret'     
data = 'myData'

hash = hmac.new(secret, data, digestmod = hashlib.sha1)
key = hash.hexdigest()[:8]

print key
Run Code Online (Sandbox Code Playgroud)

谢谢

c# python hash sha1

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

将非可序列化类转换为字节数组

我有一个场景,我在多个非常不同的系统之间同步数据.(数据本身很相似,但不同系统上的表格格式完全不同.)为了协助这种同步,我有一个数据库表,它存储来自每个系统的对象哈希值以及项目键和其他相关信息.当来自任一系统的对象的散列改变时,我更新另一个.

我的数据库表看起来像这样.

CREATE TABLE [dbo].[SyncHashes](
    [SyncHashId] [int] IDENTITY(1,1) NOT NULL,
    [ObjectName] [nvarchar](50) NULL,
    [MappingTypeValue] [nvarchar](25) NULL,
    [MappingDirectionValue] [nvarchar](25) NULL,
    [SourceSystem] [nvarchar](50) NULL,
    [SourceKey] [nvarchar](200) NULL,
    [SourceHash] [nvarchar](50) NULL,
    [TargetSystem] [nvarchar](50) NULL,
    [TargetKey] [nvarchar](200) NULL,
    [TargetHash] [nvarchar](50) NULL,
    [UpdateNeededValue] [nvarchar](max) NULL,
    [CreatedOn] [datetime] NULL,
    [ModifiedOn] [datetime] NULL,
    [Version] [timestamp] NOT NULL, 
    [IsActive] [bit] NOT NULL,
PRIMARY KEY CLUSTERED 
(
    [SyncHashId] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON …
Run Code Online (Sandbox Code Playgroud)

.net c# serialization bytearray hashcode

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