小编use*_*696的帖子

如何使用ASP.NET Core从查询字符串中读取值?

我正在使用ASP.NET Core MVC构建一个RESTful API,我想使用查询字符串参数来指定返回集合的资源上的过滤和分页.

在这种情况下,我需要读取查询字符串中传递的值来过滤并选择要返回的结果.

我已经发现控制器Get操作内部访问HttpContext.Request.Query返回一个IQueryCollection.

问题是我不知道如何使用它来检索值.事实上,我认为要做的方法是使用,例如

string page = HttpContext.Request.Query["page"]
Run Code Online (Sandbox Code Playgroud)

问题是HttpContext.Request.Query["page"]不返回字符串,而是返回StringValues.

无论如何,如何使用它IQueryCollection来实际读取查询字符串值?

c# http query-string .net-core asp.net-core

102
推荐指数
9
解决办法
14万
查看次数

如何在Node.js中使用带有promise的MongoDB?

我一直在尝试发现如何将MongoDB与Node.js一起使用,并且在文档中似乎建议的方法是使用回调.现在,我知道这只是一个偏好问题,但我更喜欢使用承诺.

问题是我没有找到如何在MongoDB中使用它们.的确,我尝试过以下方法:

var MongoClient = require('mongodb').MongoClient;

var url = 'mongodb://localhost:27017/example';

MongoClient.connect(url).then(function (err, db) {
    console.log(db);
});
Run Code Online (Sandbox Code Playgroud)

结果是undefined.在这种情况下,似乎这不是这样做的方式.

有没有办法在Node中使用mongo db而不是回调?

javascript mongodb node.js

66
推荐指数
4
解决办法
7万
查看次数

Azure应用服务和云服务之间的差异

我去年开始学习Microsoft Azure,其中一项服务是云服务.我理解云服务的方式是它是一种旨在允许人们构建N层应用程序的服务.因此,可以设置一个托管一个ASP.NET Web API项目的Web角色和一些用于后台处理的工作角色等等.还有网站服务.

现在,在Build 2015中,它呈现了Azure App Services,它基本上是由

  • 网络应用
  • API应用程序
  • 逻辑应用
  • 移动应用

现在我不知道何时应该使用云服务,何时应该使用应用服务.我的意思是,我认为Web Apps与API Apps和Logic Apps一样与Cloud Services相同,但我不确定.

那么,云服务和应用服务之间的区别是什么?应该选择哪一个而不是另一个?

cloud web-services azure

39
推荐指数
4
解决办法
3万
查看次数

什么是.NET的主要人物?

在谈论.NET中的身份时,我们有了Principal的想法.有接口IPrincipal,并与它一起实现ClaimsPrincipal.我们甚至可以随时访问该接口的一个实现实例Thread.CurrentPrincipal.

现在,我从未明白这个校长是什么.实际上,起初我认为它代表了当前用户的身份.但事实并非如此,实际上还有另一个界面IIdentity和实现ClaimsIdentity.搜索一下我在MSDN上发现了以下内容:

主体对象表示代表其运行的用户的安全上下文,包括该用户的身份(IIdentity)以及它们所属的任何角色.

代表代码运行的用户的这种安全上下文真的意味着什么?我想我还没有得到它应该代表什么.

.net c# security

34
推荐指数
3
解决办法
5041
查看次数

ASP.NET Core MVC:设置身份cookie的到期时间

在我的ASP.NET Core MVC应用程序中,身份验证cookie的生命周期设置为"会话",因此它会一直持续到我关闭浏览器为止.我使用MVC的默认身份验证方案:

app.UseIdentity();
Run Code Online (Sandbox Code Playgroud)

如何延长cookie的生命周期?

asp.net-mvc asp.net-identity asp.net-core-mvc asp.net-core

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

.NET平台标准中的平台是什么?

目前正在尝试了解.NET平台标准我发现自己对"不同平台"的想法非常困惑.

我会尽力说清楚.我目前关于.NET Framework的内容是,.NET粗略地说是由CLR,BCL和支持软件组成,用于引导CLR并提供虚拟机和底层操作系统之间的接口.

因此,当我们使用.NET Framework进行编码时,我们确实针对框架的某个版本,因为我们从BCL使用的类型带有框架,因此依赖于特定的版本.

现在,根据我的理解,.NET Core完全不同.并非所有人都挤在一起.我们有CoreCLR,它是运行IL的轻量级VM,CoreFX是正确组织为NuGet包的库,我们到目前为止还提供DNX/DNVM/DNU,它们提供了支持,如启动CoreCLR并与之连接. OS.

无论如何,尽管我们在Windows 7,Windows 8或Windows 10上安装了框架,但我们仍然针对该框架进行编码.

现在,在.NET Platform Standard规范中,我们看到以下定义:

平台 - 例如.NET Framework 4.5,.NET Framework 4.6,Windows Phone 8.1,MonoTouch,UWP等.

我们还看到了一个平台列表,其中包括

  • .NET Framework 2.0 - 4.6
  • Windows 8
  • Windows Phone 8.1
  • Silverlight 4,5
  • .NET Framework 4.5.1上的DNX - 4.6
  • .NET Core 5.0上的DNX

现在这让我很困惑.我总是这样说:我们针对.NET Framework进行编码,无论如何,框架都是框架.

但是在这里我们有这些平台,其中.NET框架只是众多平台中的一个.我们有Windows 8,但是等一下,在Windows 8上运行.NET与在任何其他操作系统上运行.NET不同吗?为什么它与.NET Framework 2.0 - 4.6平台分开?

我们还将DNX作为特定平台.这让我想知道:平台是与启动虚拟机和提供操作系统接口相关的"支持"吗?或者平台包括虚拟机?

无论如何,可以看出我很困惑.那些平台到底是什么以及这与我目前对.NET Framework的理解有何关系?另外,为什么.NET Framework 2.0 - 4.6被描述为单独的?除非是.NET Core,否则这里所描述的一切都不是.NET Framework的某些版本?

.net c# windows .net-core dnx

27
推荐指数
3
解决办法
5155
查看次数

是否有任何GAC等效的.NET Core?

正如我在完整的.NET Framework中理解的那样,当我们将框架安装到机器时,它将整个BCL部署到计算机的GAC.通过这种方式,当我们使用.NET开发软件并部署到该计算机时,它将使用安装.NET Framework本身时在GAC中提供的BCL程序集.

现在,我知道CoreFX相当于新.NET Core的BCL.然而,主要区别在于我们可以project.json准确地指定我们需要的CoreFX的哪些部分.

我的问题是:当我们部署.NET Core应用程序时,生产环境中是否有任何GAC等价物?因此,当我们部署要执行的应用程序时,计算机中是否有任何中心位置,应用程序将查看整个CoreFX是否可用?

.net gac .net-core

23
推荐指数
2
解决办法
5992
查看次数

ASP.NET 5中的Web API身份验证

我已经研究过ASP.NET 5一段时间了,还有一些我很困惑的事情.要在Web API 2中实现身份验证,我以前基本上使用的是OWIN OAuth身份验证服务器中间件.它使用起来很简单,我可以配置我需要的东西,而且我不需要在应用程序上放置一堆东西而不需要它.

现在,起初我没有在ASP.NET 5中找到它,我认为等待中间件出现是一个时间问题.但昨天,在阅读有关安全回购的问题时,我发现显然无意将此中间件移植到新版本的框架中.

相反,似乎鼓励人们使用Identity Server 3.我看了一下项目,虽然它很好并且有很多用法我真的更喜欢配置我有时需要的最小值.此外,另一个缺点是Identity Server 3需要完整的CLR,所以如果我需要使用它来为我的应用程序提供身份验证,我需要停止使用Core CLR,这对我来说是一个巨大的劣势,因为Core CLR是一个更轻巧.

因此,如果我不想在ASP.NET 5上使用Identity Server 3,如果OAuth Authentication Server中间件消失,如何为Web API实现身份验证?有没有人通过这个并找到了解决它的方法?

如何在不使用Identity Server 3的情况下处理ASP.NET 5 Web API上的身份验证?

c# asp.net authentication asp.net-web-api asp.net-core

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

为什么要在src文件夹中组织项目?

首先,我想说清楚我知道该src文件夹不是必需的.实际上,人们可以简单地为项目创建一个目录,使一个有效project.json,一个Startup类,即使没有Visual Studio,一切都应该正常工作.

我的观点如下:当我们使用Visual Studio 2015中的ASP.NET 5创建一个新项目时,它会创建一个解决方案,并在解决方案的文件夹中创建一个src文件夹.在此文件夹中,将创建所有项目.

现在为什么有人想src在解决方案文件夹中创建一个文件夹?为什么不将项目直接放在解决方案文件夹中?项目的组织是否有任何优势将项目放在src文件夹中?为什么VS现在这样做?

visual-studio-2015 asp.net-core

21
推荐指数
2
解决办法
4664
查看次数

TypeScript中的接口和类

在C#中,接口和类之间存在巨大差异.实际上,类表示引用类型,因此我们实际上可以创建在该类上建模的对象,而接口则是类签名的合同,以确保存在某种行为.特别是我们无法创建接口实例.

接口的全部意义在于暴露行为.类通过给出所述行为的一个显式实现来实现它.

在这种情况下,尽管接口可能包含属性,但由于行为问题,我们大多数时候都关心接口.所以大多数类型,接口只是行为契约.

另一方面,在TypeScript上,我看起来让我感到非常不安,事实上我不止一次看过这个,这就是这个问题的原因.

在一个教程中我看到了这个:

export interface User {
    name: string; // required with minimum 5 chracters
    address?: {
        street?: string; // required
        postcode?: string;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是等一下.为什么User是界面?如果我们认为像C#,User不应该是一个接口.事实上,看着它,似乎我们正在定义数据类型User,而不是行为契约.

像在C#中一样思考,自然就是这样:

export class User {
    public name: string;
    public address: Address;
}
export class Address {
    public street: string;
    public postcode: string;
}
Run Code Online (Sandbox Code Playgroud)

但是,像使用类一样使用接口来定义数据类型而不是定义行为契约这一点在TypeScript中似乎很常见.

那么TypeScript中的接口是什么意思?为什么人们在TypeScript中使用接口,就像我们在C#中使用clases一样?如何在TypeScript中正确使用接口:建立行为契约,或者定义属性和对象应该具有哪些?

javascript interface typescript

21
推荐指数
3
解决办法
8139
查看次数