Tag: sitefinity

如何使用不允许异步控制器操作的CMS处理异步API调用?

我一直在使用async / await,而且我所阅读的大多数内容都是“不要阻止异步代码” ,但控制台应用程序中的main函数除外。 我发现自己无法遵循这个简单的规则:( 我的应用程序在很大程度上取决于WebAPI层。 我在MVC应用程序中使用的客户端使用System.Net.Http.HttpClient上的async方法来调用API方法。 目前我正在以两种方式处理它。 在某些地方,我们在调用客户端后立即获得结果: //WebAPI Client public object GetSomething(int id) { var task = _client_GetSomethingFromApiAsync(id); var result = task.Result; return result; } 在其他人使用async一直到控制器。 我正在使用SiteFinity,不能使用异步控制器操作,所以我最终得到这样的东西: //WebAPI Client public Task GetSomethingAsync(int id) { return _client_GetSomethingFromApiAsync(id); } //Domain Service public Task GetSomethingDomainServiceAsync(int id) { return _service.GetSomethingAsync(id); } //Controller public JsonResult GetSomethingControllerAction(int id) { […]

Telerik Sitefinity密码哈希function

我有一个表格,其中包含Telerik Sitefinity系统的登录凭据。 我想使用相同的登录凭据,但使用不具有Sitefinity库的其他应用程序。 我正在努力使用密码编码,密码编码设置为Hash(默认为SHA1算法)。 我尝试使用以下代码对密码进行编码,但它与Sitefinity生成的内容不匹配。 public string EncodePassword(string pass, string salt) { byte[] bytes = Encoding.Unicode.GetBytes(pass); byte[] src = Convert.FromBase64String(salt); byte[] dst = new byte[src.Length + bytes.Length]; Buffer.BlockCopy(src, 0, dst, 0, src.Length); Buffer.BlockCopy(bytes, 0, dst, src.Length, bytes.Length); HashAlgorithm algorithm = HashAlgorithm.Create(“SHA1”); byte[] inArray = algorithm.ComputeHash(dst); return Convert.ToBase64String(inArray); } 例: 密码:password111 盐:94EBE09530D9F5FAE3D002A4BF262D2F(保存在SF用户表中) 上面的函数哈希:8IjcFO4ad8BdkD40NJcgD0iGloU = SF生成的表中的哈希值:A24GuU8OasJ2bicvT / […]