小编Thi*_*lva的帖子

asp.net调查问卷引擎

我希望实现(或构建作为最后的手段)一种调查引擎,它允许可扩展性并集成到现有的工作流引擎中.

调查/问卷引擎应该允许管理员用户添加新的问题和响应类型(text/bool/multiple/etc),应该使用SQL Server进行持久性和ASP.NET 2.0或更高版本.它应该利用AD for Windows Integrated Auth和安全性.

有没有人知道满足这些基本要求的现成解决方案(免费或便宜甚至更好)?

.net sql-server asp.net workflow survey

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

从自定义授权器Lambda函数访问POST请求正文

我在AWS中有一个自定义授权器lambda函数,它为一个API配置了另一个带有POST资源的Lambda函数.

授权器是按类型设置的Request,而不是Token因为我没有在Authorization标头中使用令牌,而是想要访问正在发布的表单数据.

当我检查event参数的内容到我的授权者函数时,我没有看到任何原始POST请求体(表单数据).但是,如果我将资源更改为a GET,我会queryStringParameters按预期看到表单数据.

(请注意,当请求为POST时,queryStringParameters始终为空对象)

在使用POST方法时,无论如何都要从函数中的请求中访问表单数据?

以下是event使用POST时授权者函数的参数将包含的示例:

{
  type: 'REQUEST',
  methodArn: 'arn:aws:execute-api:us-east-1:********:********/dev/POST/receive',
  resource: '/receive',
  path: '/sms/receive',
  httpMethod: 'POST',
  headers: {
    Accept: '*/*',
    'CloudFront-Viewer-Country': 'US',
    'CloudFront-Forwarded-Proto': 'https',
    'CloudFront-Is-Tablet-Viewer': 'false',
    'CloudFront-Is-Mobile-Viewer': 'false',
    'User-Agent': 'TwilioProxy/1.1',
    'X-Forwarded-Proto': 'https',
    'CloudFront-Is-SmartTV-Viewer': 'false',
    Host: 'api.myredactedcompany.io',
    'X-Forwarded-Port': '443',
    'X-Amzn-Trace-Id': 'Root=**************',
    Via: '1.1 ***************.cloudfront.net (CloudFront)',
    'Cache-Control': 'max-age=259200',
    'X-Twilio-Signature': '***************************',
    'X-Amz-Cf-Id': '****************************',
    'X-Forwarded-For': '[redacted IP addresses]',
    'Content-Length': '492',
    'CloudFront-Is-Desktop-Viewer': 'true',
    'Content-Type': 'application/x-www-form-urlencoded'
  }, …
Run Code Online (Sandbox Code Playgroud)

lambda amazon-web-services aws-lambda

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

v12 .NET SDK 中的 Azure 存储 BlobClient 和 BlockBlobClient 之间有什么区别?

我环顾四周,但似乎在文档中找不到任何地方,并且这些 API 的 Intellisense 文档几乎相同。

BlockBlobClientAzure 存储与BlobClientAzure 存储 v12 SDK 中的之间有什么区别?

我应该使用哪一种来使用 Azure 存储 v12 .NET SDK 将文件流高效上传到 Azure Blob 存储?

这两段代码以及它们如何将文件上传到云端有什么区别吗?

var container = _blobServiceClient.GetBlobContainerClient(containerName);

var blobClient = container.GetBlobClient(filename); // this?
var blockBlockClient = container.GetBlockBlobClient(filename); // or this?
Run Code Online (Sandbox Code Playgroud)

.net c# azure-sdk-.net azure-blob-storage

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

Azure Blob 存储 SDK v12 - BlobClient DownloadAsync 消失了吗?

我有生产代码,该BlobClient.DownloadAsync()代码使用 nuget 包 v12.8 从 Azure Blob 存储下载文件的方法Azure.Storage.Blobs,并且它似乎工作得很好。但是,我升级了 nuget 包,并准备编写一些新代码来处理 zip 文件,这些代码也依赖于下载来提取 zip...但注意到 Storage SDK 的最新 API 中存在一些变化。

除了来自 Microsoft 以及互联网的几乎每个示例之外,由于该方法将返回的内容包装BlobDownloadInfo到一个Response<T>对象中,所以略有不正确 - 迫使您首先调用.Value,他们似乎也使用上述方法来下载 blob 文件 -但我无法再通过智能感知找到该方法。

当我查看BlobBaseClient.DownloadAsync()方法的源代码时,我发现它用 装饰[EditorBrowsable(EditorBrowsableState.Never)],这意味着该 API 可能会通过向开发人员隐藏它而慢慢被拿走,但不会破坏现有代码或标记为Obsolete。但我找不到任何可以肯定指出这一点的文章/问题/文档。看起来是这样的:

反编译的 BlobBaseClient.DownloadAsync()

话虽如此......如果目标是“流”,那么人们应该使用 v12.9 版本的 .NET SDK 以异步方式从 Azure Blob 存储(块 blob)下载文件的方式是什么它通过 ASP.NET 控制器操作(REST 端点)传输到浏览器等客户端(不保存到服务器上的本地文件)?

上似乎有几个可用的“下载”API BlobClient,但它们的文档有些模糊或不明确,并且 MS 文档似乎没有进一步澄清:

  • DownloadAsync() - 标记为不可浏览,但基于所有示例/博客,这是事实上的方式
  • 下载StreamingAsync()
  • 下载内容异步()
  • 下载到异步()
  • OpenReadAsync()

此外,如果尝试执行一些其他操作,而不是通过 REST API 下载到浏览器客户端,例如,如果您正在解压缩 blob 文件并且提取的文件也将进入 blob 存储,那么最好不要下载而是通过OpenReadAsync() …

.net azure azure-storage azure-sdk-.net azure-blob-storage

8
推荐指数
1
解决办法
5234
查看次数

EF 4.3.1迁移异常 - AlterColumn defaultValueSql为不同的表创建相同的默认约束名称

我有一个使用OOB数据库初始化程序创建的数据库,我使用的是Code First和EF 4.3.1.

我想利用Add-Migration cmdlet上的新"IgnoreChanges"标志,以便我可以更改一些列并添加默认SQL值.本质上,我的一些实体有一个名为DateLastUpdated的列,我想将DEFAULT设置为sql表达式GETDATE().

我使用"add-migration InitialMigration -ignorechanges"创建了InitialMigration,然后我将以下内容添加到Up()和Down():

public override void Up()
{
    AlterColumn("CustomerLocations", "DateLastUpdated", c => c.DateTime(defaultValueSql: "GETDATE()"));
    AlterColumn("UserReportTemplates", "DateLastUpdated", c => c.DateTime(defaultValueSql: "GETDATE()"));
    AlterColumn("Chains", "DateLastUpdated", c => c.DateTime(defaultValueSql: "GETDATE()"));
}

public override void Down()
{
    AlterColumn("CustomerLocations", "DateLastUpdated", c => c.DateTime());
    AlterColumn("UserReportTemplates", "DateLastUpdated", c => c.DateTime());
    AlterColumn("Chains", "DateLastUpdated", c => c.DateTime());
}
Run Code Online (Sandbox Code Playgroud)

然后我尝试运行"Update-Database -verbose",但我发现它正在尝试在数据库上创建相同的命名默认约束,并且SQL抛出异常:

Applying explicit migrations: [201203221856095_InitialMigration].
Applying explicit migration: 201203221856095_InitialMigration.
ALTER TABLE [CustomerLocations] ADD CONSTRAINT DF_DateLastUpdated DEFAULT GETDATE() FOR [DateLastUpdated]
ALTER TABLE [CustomerLocations] ALTER COLUMN [DateLastUpdated] [datetime] …
Run Code Online (Sandbox Code Playgroud)

.net entity-framework ef-migrations entity-framework-4.3

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

SessionAuthenticationModule Cookie Handler没有创建HttpOnly安全cookie

我正在使用System.IdentityModel使用具有声明主体的表单身份验证来验证ASP.NET MVC4 Web应用程序中的用户.(基于这篇文章的代码:http://brockallen.com/2013/01/26/replacing-forms-authentication-with-wifs-session-authentication-module-sam-to-enable-claims-aware-identity/)

我的ClaimsBasedAuthenticationService类从SessionSecurityToken发出SAM cookie,一切都很好......除了我刚才注意到它没有创建会话cookie作为HTTPOnly或要求他们需要SSL.当我调试代码时,我可以看到在调试器中正确设置了CookieHandler对象上的那些属性,但是创建的最终会话cookie根本没有标记HTTPOnly和Secure标志.

我有web.config行将这些显式设置为true,如下所示:

<system.web>
  <httpCookies httpOnlyCookies="true" requireSSL="true" />
  <authentication mode="Forms">
     <forms ... requireSSL="true" />
  </authentication>
 ...
</system.web>
<system.identityModel.services>
  <federationConfiguration>
    <cookieHandler requireSsl="true" hideFromScript="true" />
  </federationConfiguration>
</system.identityModel.services>
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我,为了让我的FedAuth cookie从脚本(HTTPOnly)中隐藏并需要SSL,我还缺少其他东西吗?

forms-authentication claims-based-identity session-cookies wif asp.net-mvc-4

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

在本地开发期间在 Docker 中运行 .NET Core 测试

据我所知,我们可以使用一个阶段来构建 Dockerfile,以便dotnet test在 docker 构建期间执行和运行我们的单元测试。

我的问题是我们是否希望这些测试在本地开发期间运行(例如使用 Visual Studio)。

如果我们运行 (F5) 一个设置为构建到 Docker 映像中的 .NET Core 应用程序,然后使用 Docker 的 VS 工具进行调试等,那么我们是否每次都会运行我们的单元测试我们在本地运行/调试?

如果我在开发/调试期间已经使用了 Visual Studio 内置的测试运行程序(甚至是 Live Unit Test 功能)怎么办?如果我在 Dockerfile 中定义用于运行测试的阶段,我是否仍然被迫在 docker 构建期间运行由 IDE 的 Run/F5 命令触发的相同单元测试?

如果没有,在 Docker 中运行测试但仅在 CI 构建期间而不是本地开发构建期间执行该阶段的推荐方法是什么?

automated-tests unit-testing visual-studio docker .net-core

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