小编Gar*_*ary的帖子

Azure存储模拟器 - blob创建提供403 Forbidden消息

我正在尝试使用Azure存储模拟器来处理blob存储.我似乎无法让它工作,并浪费了一整天尝试没有成功.即使这是开发人员存储,我仍然会收到403禁止错误.我希望有人可以帮助我.

我以前在Azure上成功运行过相同的程序.然而,我的3个月试用版到期了,根本没有我真正使用它,现在我已经回到了Azure,我必须在存储模拟器上运行(在将连接字符串更改为dev存储之后).

我将详细描述我所做的事情.

首先让我向你保证,我已安装了所有必要的东西(我认为):

我有Visual Studio 2012 Pro和Visual Studio 2012 Express for Web(免费).我已经使用Web Platform安装程序安装了Azure所需的其他内容.如果我查看添加/删除程序,我看到我有

  • 适用于Microsoft Visual Studio 2012的Windows Azure工具-v2.1
  • 适用于.NET的Windows Azure库-v2.1
  • Windows Azure模拟器-v2.1
  • Windows Azure创作工具-v2.1

如果我愿意,我可以在VS2012中创建一个云项目,如果我在模拟器上成功启动它.所以我的问题似乎只有模拟器存储.

这是我做的:

步骤1.

我创建了一个新的ASP.NET MVC4项目.我正在使用.NET framework 4.5.这将使用HomeController.cs和AccountController.cs创建基本项目模板

第2步.

我使用NuGet来获取"Windows Azure存储".我相信这会将WindowsAzure.Storage.dll版本2.0.6.1放入我的项目引用中.除此之外,我看到我的参考文献还包括-Microsoft.WindowsAzure.Configuration v2.0.0.0 -Microsoft.WindowsAzure.Diagnostics v2.1.0.0 -Microsoft.WindowsAzure.ServiceRuntime v2.1.0.0 -Microsoft.WindowsAzure.StorageClient v1 .7.0.0

第3步.

在Web.config文件中,我在标记中添加以下标记

这基本上是每个人在使用模拟器时应该使用的帐户名和密钥.

第4步.

在HomeController.cs中,我创建了一个Action.此操作应该在Azure blob存储上创建容器,并将文件上载到该存储.这是代码.正如您所看到的,它几乎是您在初学者示例中找到的标准代码


    public ActionResult AddBlobToBlobContainerStorageEmulator()
    {
        // Retrieve storage account from connection string
        CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.AppSettings["EmulatorStorageConnectionString"]);

        // Create the blob client.
        CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();

        // Retrieve a reference to the previously …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc azure

13
推荐指数
2
解决办法
7909
查看次数

如何在 EF Core 3.1 中以异步方式使用 GroupBy?

当我使用 GroupBy 作为对 EFCore 的 LINQ 查询的一部分时,出现错误System.InvalidOperationException: Client-side GroupBy is not supported

这是因为 EF Core 3.1 尝试尽可能多地在服务器端评估查询,而不是在客户端评估它们,并且调用无法转换为 SQL。

所以下面的语句不起作用,并产生上面提到的错误:

var blogs = await context.Blogs
    .Where(blog => blog.Url.Contains("dotnet"))
    .GroupBy(t => t.BlobNumber)
    .Select(b => b)
    .ToListAsync();
Run Code Online (Sandbox Code Playgroud)

现在显然解决方案是在调用 GroupBy() 之前使用 .AsEnumerable() 或 .ToList(),因为这明确告诉 EF Core 您想要进行分组客户端。在 GitHubMicrosoft 文档中对此进行了讨论。

var blogs = context.Blogs
    .Where(blog => blog.Url.Contains("dotnet"))
    .AsEnumerable()
    .GroupBy(t => t.BlobNumber)
    .Select(b => b)
    .ToList();
Run Code Online (Sandbox Code Playgroud)

然而,这不是异步的。我怎样才能使它异步?

如果我将 AsEnumerable() 更改为 AsAsyncEnumerable(),则会出现错误。如果我尝试将 AsEnumerable() 更改为 ToListAsync(),则 GroupBy() 命令将失败。

我正在考虑将它包装在 Task.FromResult …

c# entity-framework-core asp.net-core ef-core-3.1

13
推荐指数
2
解决办法
7315
查看次数

如何使用弹性框使页脚停留在页面底部

在 iOS Safari 上,当我创建一个 div 是一个 Flex 项目并使其成为一个 Flex 容器时,它的高度不会拉伸以匹配其内容。然而,如果它不是一个弹性容器,那么它的高度会拉伸以匹配它的内容。

详细说明 - 我正在使用 css flexbox 将页脚放置在页面底部。页面主体有两个 div - “maincontents”和“footer”。即使“maincontents”div 内容很少或没有内容,页脚仍将保留在窗口底部。而如果“maincontents”div内容较多,则可以根据需要将页脚下推。这个想法很容易在 Flexbox 中实现,方法是将页面主体设置为 Flex 容器,并将“maincontents”设置为“flex:1”,将“footer”设置为“flex:0”,这样“maincontents”就会占用所有可用空间,而“页脚”被推到窗口底部。它适用于所有现代浏览器,包括 iOS safari。

如果我也将“maincontents”本身设置为弹性框(使用display:flex),就会出现问题。在 iOS Safari 上,页脚现在始终位于窗口底部,即使 maincontents 有很多内容应该将页脚进一步向下推;相反,“maincontents”最终会在“footer”下方继续,而不是将其向下推。

我在 jsfiddle 上做了一个简单的模型。 https://jsfiddle.net/8xs1rocu/

如果您在 Windows 桌面上打开该小提琴,您会看到以下内容(chrome/ff/ie11) 在此输入图像描述

如果您在 iPad 或 iPhone (Safari) 上打开它,您会看到以下内容。 在此输入图像描述

请注意,在 iOS safari 上,页脚不会被内容向下推,而是内容最终会进入页脚下方。在桌面上的 Chrome/FF/IE11 上不会发生这种情况;在这些浏览器上,页脚由“maincontents”的内容向下推。

如果删除“display:flex”行,那么它也可以在 ios safari 上完美运行,就像在其他浏览器上一样。不过,我需要“display:flex”行,因为我会将其他内容放入“maincontents”中,这些内容需要使用 css flexbox 以某种方式布局。

直接将 jsfiddle 片段代码粘贴到此处:

html, body {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.maincontents {
  flex: 1;
  display: flex; /* if …
Run Code Online (Sandbox Code Playgroud)

html css flexbox

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

何时将一个Vue组件拆分为多个组件(子组件)

创建 Vue 组件时,如何决定何时将一个组件分离为具有多个子组件的父组件,而不是只拥有一个具有更多逻辑的组件?

我在非 SPA 网站的几个地方使用 Vue。在网站的一个页面上,我需要显示一个项目列表,每个项目旁边都有一些图标来执行一些简单的操作,例如显示/隐藏。我正在将列表构建为 Vue 组件,我们将其称为 ProductList。但我不确定是否将该列表中的每个项目作为一个单独的组件。什么时候适合将一个组件拆分为多个子组件?

我自己的推理告诉我,应该只为需要能够独立的事物创建组件。由于这些项目不会在列表之外使用,因此将它们放在单独的 ProductListItem 组件中并放入 ProductList 组件中是没有意义的。我应该只拥有 ProductList 组件中的所有代码。正确的?

但当我查看互联网上的其他示例时,其中许多都讲述了不同的故事。例如,我记得看到一个示例,其中有一个 Article 组件、一个 ArticleTitle 组件、一个 ArticleBody 组件和一个 ArticleEnd 组件(或类似的组件)。文章组件的模板中有<article-title>,<article-body><article-end>。如果 ArticleTitle 组件或 ArticleBody 组件仅在 Article 组件内使用,而不是独立使用,那么为什么还要将其作为单独的组件呢?我在这里错过了什么吗?是否有技术标准来决定是否使用多个组件,或者这只是个人喜好?

vue.js vue-component

11
推荐指数
2
解决办法
4461
查看次数

更改 Azure Web 应用中的目标框架

我想使用 Azure Web 应用程序将 ASP.NET Core 2.1 网站发布到 Azure 以托管它。在 Azure 门户上创建 Azure Web 应用程序时,其中一项设置是“运行时堆栈”。在这种情况下,我会将其设置为“.NET Core 2.1”以匹配我的代码当前使用的框架。但是,一旦创建了 Web 应用程序,我在 Azure 门户上的任何位置都看不到编辑此设置的选项,那么如果将来有必要,我将如何更改它?

例如,如果我稍后更新我的应用程序代码以使用 ASP.NET Core 2.2,我该如何将 Azure Web 应用程序的运行时堆栈更改为“.NET Core 2.2”?在 Azure 门户的某些区域中是否有编辑此设置的设置?还是 Azure Web 应用查看代码(可能是 .csproj 文件),并在内部自动更新目标框架,从而忽略任何设置?或者我是否需要删除网络应用程序并使用正确的设置创建一个新的应用程序?(如果我需要删除 Web 应用程序并创建一个新的应用程序,是否有一些推荐的方法来针对这种情况进行计划并减少停机时间?是否可以将暂存槽从生产槽更新到更新的运行时堆栈,以及然后交换?)

azure azure-web-app-service asp.net-core azure-webapps

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

SQL Azure最大并发会话数

我想使用SQL Azure作为ASP.NET MVC应用程序的数据库.我查找了此页面上列出的Azure SQL数据库资源限制:https://azure.microsoft.com/en-us/documentation/articles/sql-database-resource-limits/

我有一些问题:

  1. 列出的指标之一是"最大并发会话数".如果我理解正确,这是指一次可以登录的最大用户数.所以,如果我有一个使用Forms身份验证的ASP MVC网站,那么用户将存储在SQL Azure上的AspNetUsers表中,并且2,000个登录用户同时正在积极使用该网站,这是否意味着我有2,000个并发会话?

  2. 用户可能永远不会注销,只需关闭浏览器即可.如果存储在浏览器中的身份验证cookie未过期,则下次访问该网站时,他们无需再次登录.这是否意味着个人整个时间都在占用会议,即使他没有使用网站,只是因为他没有退出?

  3. 目前,可以容纳最大并发会话数的数据库是Premium P11数据库.它可以容纳32,000个最大并发会话.这似乎是一个非常小的数字.有许多网站和应用程序同时有数十万用户登录.如果我们的网站需要有50,000名用户同时登录并积极使用该网站怎么办?这是否意味着我们无法使用SQL Azure?(这对我来说听起来不对,这让我相信我对并发会话的完整理解是不正确的)

asp.net-mvc azure azure-sql-database

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

子级div高度超过了Firefox中的父级高度而不是Chrome

如何防止使用滚动条的子div和flex:1超出其在Firefox中的父Flexbox的高度?它在Chrome中正常运行.

CodePen链接(如果您更喜欢Stack Overflow片段):https://codepen.io/garyapps/pen/ZMNVJg

细节:

我有一个固定高度的弹性容器.它有一个flex-direction:column设置,它包含多个垂直堆叠的孩子div.其中一个儿童div被赋予flex:1财产,而其他人则获得固定的高度.

我的期望是带有flex:1财产的子女孩将扩大以填补剩余的垂直空间.这按预期工作.

我还给了孩子div一个overflow-y:scroll属性,所以如果它内的内容超过它的高度,就会出现滚动条.这在Chrome中运行良好.然而,在Firefox中,这个孩子的身高会增加,超过其父div.

在Chrome中:

在此输入图像描述

在Firefox中:

在此输入图像描述

正如您在屏幕截图中看到的,我有两次出现此问题,一次出现在左侧面板中,另一次出现在右侧面板中.在Chrome中,子div的高度保持不变,出现滚动条,并且不会超出父级的高度.在Firefox中,滚动条不会出现,并且子div的高度会增加并超过其父级.

我已经在SO上查看了一些其他类似的问题,并且在很多情况下设置min-height:0属性解决了Firefox中的问题.但是我试过加入min-height:0父母,孩子,父母和孩子,没有运气.

请在Chrome和Firefox中运行下面的代码段,以查看两种浏览器的不同之处.

我很感激有关如何防止儿童成长的任何建议.

(注意正在使用Bootstrap 4.代码片段引用了bootstrap 4 .css文件CDN)

代码片段:

.body-content {
        height: 300px;   
        max-height:100%;
        border: 3px dashed purple;
        display:flex;                       
        flex-direction: column;             
    }


#messagescontainerrow {
        flex: 1;
        border: 5px double black;
    }

#leftdiv {
        display:flex;
        flex-direction:column;
        border: 1px solid green;
    }

#messagetools {
        height: 50px;
        background-color: cornsilk;
    }

#messagelist {
        flex:1;     
        overflow-y: scroll;   
        background-color:whitesmoke; …
Run Code Online (Sandbox Code Playgroud)

css firefox flexbox twitter-bootstrap

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