小编And*_*ijo的帖子

在Angular 2中定义全局常量

在Angular 1.x中,您可以像这样定义常量:

angular.module('mainApp.config', [])
.constant('API_ENDPOINT', 'http://127.0.0.1:6666/api/')
Run Code Online (Sandbox Code Playgroud)

Angular2(使用Typescript)中的等价物是什么?我只是不想在我的所有服务中一遍又一遍地重复API基本URL.

typescript angular

240
推荐指数
11
解决办法
25万
查看次数

使用RxJS进行Angular 2轮询

我正在尝试轮询RESTful端点以刷新我的实时聊天消息.我知道实时聊天的最佳方法是Websockets,我只想了解RxJS如何与Angular 2一起使用.

我想每秒检查一下新消息.我有以下代码:

return Rx.Observable
   .interval(1000)
   .flatMapLatest(() => this.http.get(`${AppSettings.API_ENDPOINT}/messages`))
   .map(response => response.json())
   .map((messages: Object[]) => {
      return messages.map(message => this.parseData(message));
   });
Run Code Online (Sandbox Code Playgroud)

但是我的Typescript转换器返回了这个错误:

属性'flatMapLatest'在'Observable <number>'类型中不存在

我正在使用RxJS 5.0.0-beta.0

如果我使用merge而不是flatMapLatest,它根本不会调用API.

typescript rxjs5 angular

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

NET Core 2.1托管的C ++

我们有一个用C ++编写的库。为了使其与我们更现代的.NET项目更加兼容,我们将此C ++库包装在另一个.NET项目中。从完整的.NET Framework项目(4.5、4.6等)中引用它时,它工作正常。

我正在使用.NET Core 2.1创建一个新应用程序,并且试图引用此“ .NET C ++库”。在我的第一次尝试中,它失败说无法加载程序集。我通过安装.NET Core SDK x86并强制我的应用程序使用x86(而不是任何CPU)来解决此问题。

我没有任何构建错误,但是当我尝试实例化该库中的类时,出现以下异常:

<CrtImplementationDetails>.ModuleLoadException: The C++ module failed to load.
 ---> System.EntryPointNotFoundException: A library name must be specified in a DllImport attribute applied to non-IJW methods.
   at _getFiberPtrId()
   at <CrtImplementationDetails>.LanguageSupport._Initialize(LanguageSupport* )
   at <CrtImplementationDetails>.LanguageSupport.Initialize(LanguageSupport* )
   --- End of inner exception stack trace ---
   at <CrtImplementationDetails>.ThrowModuleLoadException(String errorMessage, Exception innerException)
   at <CrtImplementationDetails>.LanguageSupport.Initialize(LanguageSupport* )
   at .cctor()
Run Code Online (Sandbox Code Playgroud)

.NET Core 2.1完全支持这种情况吗?

.net c# c++ .net-core asp.net-core

8
推荐指数
2
解决办法
6325
查看次数

如何使用 .NET Core WebAPI 和 OData v4 过滤 SQL Server DateTime

我正在使用 OData Query v4 和 SQL Server 2012 运行一个简单的 .NET Core WebApi 应用程序。

这可行,但速度非常慢:

GET /api-endpoint?$filter=date(MyDateTimeField) ge 2018-01-01&$top=100
Run Code Online (Sandbox Code Playgroud)

由上面的 URL 生成的 SQL 查询:

SELECT TOP 100 * FROM MyTable WHERE ((((DATEPART(year, [MyDateTimeField]) * 10000) + (DATEPART(month, [MyDateTimeField]) * 100)) + DATEPART(day, [MyDateTimeField])) >= (((2018 * 10000) + (1 * 100)) + 1))
Run Code Online (Sandbox Code Playgroud)

当我尝试这样做时:

GET /api-endpoint?$filter=MyDateTimeField ge 2018-01-01T00:00:00.00Z&$top=100
Run Code Online (Sandbox Code Playgroud)

它生成以下 SQL 查询:

SELECT TOP 100 * FROM MyTable WHERE [MyDateTimeField] > '2018-01-01T00:00:00.0000000'
Run Code Online (Sandbox Code Playgroud)

返回此错误:

从字符串转换日期和/或时间时转换失败。

OData 查询语法是什么来生成与此类似的 SQL 查询?

SELECT TOP 100 * …
Run Code Online (Sandbox Code Playgroud)

odata odata-v4 asp.net-core asp.net-core-webapi

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

在Angular 2中使用异步管道访问数组的第一项

使用异步管道时如何访问数组的第一项?

<nav-tabs
   [tabs]="(pageTabs$ | async)"
   [activeTab]="(pageTabs$ | async)[0]">
</nav-tabs>
Run Code Online (Sandbox Code Playgroud)

我试过(pageTabs$ | async)[0]但是没用.

javascript angular

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

C# DateTime.TryParseExact 带可选参数

下面的代码工作正常,只是想知道是否有更优雅的方式来实现同样的事情?下面的日期应该是有效的,除此之外的任何其他日期都不应该:

  • 1/12/2017
  • 1/12/2017 11:10
  • 2017/1/12 11:10:30
  • 15/5/2017
  • 15/5/2017 11:10
  • 15/5/2017 11:10:30
  • 1/5/2017
  • 1/5/2017 11:10
  • 2017/1/5 11:10:30
  • 25/12/2017
  • 25/12/2017 11:10
  • 25/12/2017 11:10:30

换句话说:它应该使用 1 位和 2 位数字的天/月,并且它应该在有和没有时间的情况下工作,包括或不包括秒。

var validDateTimeFormats = new[]
{
   "d/MM/yyyy",
   "d/MM/yyyy HH:mm",
   "d/MM/yyyy HH:mm:ss",
   "dd/M/yyyy",
   "dd/M/yyyy HH:mm",
   "dd/M/yyyy HH:mm:ss",
   "d/M/yyyy",
   "d/M/yyyy HH:mm",
   "d/M/yyyy HH:mm:ss",
   "dd/MM/yyyy",
   "dd/MM/yyyy HH:mm",
   "dd/MM/yyyy HH:mm:ss"
};

DateTime dateTime;
if (DateTime.TryParseExact(dateTimeStr, validDateTimeFormats,
CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
{
   // My logic
}
Run Code Online (Sandbox Code Playgroud)

.net c#

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

PostgreSQL:42883运算符不存在:没有时区的时间戳=文本

我正在使用Npgsql 3.0.3.0和PetaPoco最新版本。

当我运行此命令时:

var dateCreated = DateTime.Now; // just an example
var sql = new Sql("WHERE date_created = @0", dateCreated.ToString("yyyy-MM-dd HH:00:00"));
var category = db.SingleOrDefault<Category>(sql);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Npgsql.NpgsqlException 42883:操作符不存在:没有时区的时间戳=文本

我知道错误消息是说我正在尝试将时间戳记(日期)与文本进行比较,但是对我来说,将它们进行比较是完全有效的,因为我希望构建以下SQL语句:

SELECT * FROM category WHERE date_created = '2017-02-03 15:00:00'
Run Code Online (Sandbox Code Playgroud)

出于性能原因,我真的不想将数据库列转换为文本。

c# postgresql npgsql petapoco

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

与 EF Core 中的 SqlFunctions.DatePart 等效

EF Core 中以下语句的等效项是什么?

SqlFunctions.DatePart("week", x.MyDate)
Run Code Online (Sandbox Code Playgroud)

EF.Functions好像没有DatePart方法。

entity-framework-core .net-core

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

尽管安装了用于基于快速 API 的代码的库,但 AWS Lambda 中没有名为“pydantic_core._pydantic_core”的模块

FastAPI 的 AWS lambda 部署出现以下错误:

[ERROR] Runtime.ImportModuleError: Unable to import module 'users_crud': No module named 'pydantic_core._pydantic_core'
Traceback (most recent call last):
Run Code Online (Sandbox Code Playgroud)

虽然 pydantic lib 已经安装了。我使用的是 3.10 版本,现在 AWS 支持该版本。

python aws-lambda pydantic fastapi

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

.NET Core中的System.XML等效函数

我正在.NET Core中创建一个处理一些XML文件的应用程序.

在.NET 4.6中,我有以下代码:

var document = new XmlDocument(xml);
var node = document.SelectSingleNode("/SOMEPATH");
var value = node.GetValue("//SOMEOTHERPATH");
Run Code Online (Sandbox Code Playgroud)

显然SelectSingleNode,GetValue不再存在于System.XML中.

.NET Core中的等效函数是什么?

.net c# .net-core

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