小编Lar*_*ard的帖子

剃刀if/else在for循环中:for块缺少一个结束"}"字符

我在MVC中使用Razor语法进行简单的for循环:

@for (int i = 0; i < Model.ProductViewModels.Count; i++)
{
    if (i%2 == 0)
    {
        <div class="row">
    }
        <div class="col-md-4">
      <a href="/product?id=@Model.ProductViewModels[i].Id">@Model.ProductViewModels[i].Title - @Model.ProductViewModels[i].Isbn13
                <br />
                <img src="@Model.ProductViewModels[i].ImageUrl" />
            </a>
</div>

@if (i%2 == 0)
    {
        </div>
    }
}
Run Code Online (Sandbox Code Playgroud)

这似乎是我心目中的合法代码,但它不起作用!

我收到错误:

Meddelelse om parserfejl: The for block is missing a closing "}" character.  Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc razor asp.net-mvc-4

11
推荐指数
1
解决办法
8543
查看次数

Azure Web应用程序具有缓慢且不温暖的负载(30秒+负载)

我对Azure Webapp有一个非常大的问题,并希望听到建议.

我们的经历:

当我转到我们的网站时,它非常快.平均负载约为1秒,并按预期响应.

但是,一旦pr.10-20分钟,我们得到一个非常冷的负荷 - 它是30-60秒+.

如果该网站没有访问者并且很冷,这是有道理的,但我们在网站的所有工作时间都有10位以上的访问者,至少有3-5个请求.

当然,这种额外的负荷是完全不可接受的.

有任何想法吗?

我们的设置:

我们有两个天蓝色的网络应用程序.一个用于生产,一个用于开发.

生产是一个"标准小",当CPU达到65-85%时,自动缩放.

我们的数据库是S2,10 gb.

这是一个非常简单的标准ASP.NET MVC站点,包含一些文本,表单和一些远程连接.

唯一的"非标准"是300万索引页面,它们可以查看数据库(页面加载大约为1秒).这会吸引很多来自Google的访问者.我们还收到一些来自谷歌的抓取,因为我们有一个包含3mio +页面的站点地图.

监视器的数据:

编辑:来自新监视器的数据.

在此输入图像描述

web应用程序:

在此输入图像描述

数据库:

在此输入图像描述

配置:

制作网络应用程序:

在此输入图像描述

数据库:

在此输入图像描述

我们的尝试:

1:永远在线.

我们总是多次尝试过,但是在最初的30分钟到6个小时之内的某个时间点,该网站只是下降而不会回来**.这当然是一个巨大的问题,并不是一个解决方案.

2:在VM上运行.

我们在Azure(4gb RAM)上的VM上有一个非常稳定和精细的设置,运行正常.我们的反应相当缓慢,但效果不错.但是,我们希望使用Web应用程序将缩放和平台"外包"到Azure - 我们只是不能接受这个速度:)

**

它永远没有反应,直到超时.我尝试了两种方案:一种是停止和启动web-app工作,另一种是我必须进行重新部署

c# asp.net azure azure-web-sites azure-sql-database

11
推荐指数
1
解决办法
916
查看次数

检查日期时间是否与其他日期时间在同一周

假设我在表格中有一个日期列表.现在我想找到所有行,它们与作为参数提供的日期在同一周.

假设我有一张桌子:

  • 2014年9月11日
  • 2014年9月12日
  • 2014年9月15日

而且我给这个函数提供了参数2014-09-09,它必须从星期一 - >星期日看,并且意识到09-11和09-12是本周的一部分,但不是09-15.

怎么解决这个问题呢?

我曾考虑检查年,月和周数,但你无法保证月份是一样的......

那么你如何解决这样的问题呢?

c# datetime c#-4.0

10
推荐指数
2
解决办法
8648
查看次数

如何准确测量Azure Web应用程序中的"数据输出"?

我在Azure中有一个Web应用程序,每月大约有10万访问者,页面浏览量不到2个(纯粹是SEO访问者).

我刚刚研究了我们的Azure账单,并且震惊地发现在上个月我们3.41 TB的数据输出了.

太字节.

这绝对没有意义.我们的平均页面大小小于3mb(很多,但数学不会说30mb).实际的总数据应该是:

3431000(mb)/ 150000(会话)= 23mb pr会话,这绝对是假的.Pingdom等服务的结果是:

Pingdom的结果

(似乎Stack.Imgur是临时链接:http://prntscr.com/gvzoaz )

我的图表看起来像这样,并不是刚刚出现的东西.我暂时没有分析我们的账单,所以这很容易就会持续一段时间:

Azure数据输出

(似乎Stack.Imgur是临时链接:http://prntscr.com/gvzohm )

我们访问次数最多的页面是一个自动生成的SEO页面,它从具有+ 3mio记录的数据库中读取,但它已经过优化,我们的数据库并不昂贵.主要的挑战是数据输出,这需要花费很多.

但是,我该如何进行任何测试呢?我从哪里开始?

我的架构:

老实说,我相信我所有的资源都在同一个区域.以下是我使用的主要杀手的截图 - 我的应用和数据库:

应用程序:

在此输入图像描述

在此输入图像描述

数据库:

在此输入图像描述

我的所有资源:

在此输入图像描述

.net c# performance azure azure-web-app-service

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

ASP.NET Core应用程序将无法运行:没有DIST文件夹和"无法找到模块"./wwwroot/dist/vendor-manifest.json'"

我已经删除了以前在不同计算机上运行的现有ASP.NET Core应用程序.

当我在这台计算机上运行该应用程序时,我收到以下错误:

AggregateException: One or more errors occurred. (Cannot find module './wwwroot/dist/vendor-manifest.json'
Error: Cannot find module './wwwroot/dist/vendor-manifest.json'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
Run Code Online (Sandbox Code Playgroud)

如果我谷歌,我最终在这里,但如果我运行,我得到:

PM> webpack --config webpack.config.vendor.js
webpack : C:\node_modules\webpack-cli\bin\webpack.js:242
At line:1 char:1
+ webpack --config webpack.config.vendor.js
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (C:\node_modules...\webpack.js:242:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

                throw err;
                ^

Error: Cannot find module 'C:\Users\LarsHoldgaard\Documents\Github\Likvido.CreditRisk\Likvido.CreditRisk\webpack.config.vendor.js'
    at Function.Module._resolveFilename (module.js:547:15)
Run Code Online (Sandbox Code Playgroud)

现在,这对我来说很奇怪.

我试过运行npm installaspnet restore.我可以毫无失败地运行Grunt(任务运行器).NPM/ Node在我的PATH中,我在Windows上运行.

我没有wwwroot/DIST任何这些操作的文件夹,我想这是问题所在. …

asp.net asp.net-core-mvc asp.net-core wwwroot asp.net-core-2.0

10
推荐指数
2
解决办法
6501
查看次数

最佳实践 - 在application_start中加载很多东西?

我有一个网站,里面有很多产品和其他内容.目前,我将所有内容加载到Application_Start的全局列表中,这需要15-25秒的aprox.

这使得网站非常快,因为我可以在O(1)时间内获得任何产品/内容.

但是,这是最佳做法吗?

目前我有一个不是VPS/Dedicated服务器的webhotel,因此它会不时地回收应用程序,这使得随机访问者的加载时间最多可达15-25秒(只有更多内容才能成为更大的数字).这当然是完全不可接受的,但我想这将通过VPS解决.

这样做的正常方法是什么?我想像亚马逊这样的网店可能不会将所有产品加载到一个巨大的列表中:-D

任何想法和想法将受到高度赞赏.

c# asp.net performance vps

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

Updatepanel提供完整的回发而不是asyncpostback

我遇到了一个看似非常着名的问题:我的updatepanel会触发一个完整的回发而不是异步回发.正常的解决方案是给你动态添加的所有控件,我已经完成了,但我仍然得到一个完整的回发而不是我的异步回发...

这是代码:

HTML:

<asp:UpdatePanel ID="ItemsUpdatePanel" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="False">
   <Triggers>
   </Triggers>    
   <ContentTemplate>
   <asp:ListView ID="PlayerItems" runat="server" GroupItemCount="5" 
                                    onitemdatabound="PlayerItems_ItemDataBound">
   <LayoutTemplate>

   ... Listview stuff ...

    </asp:ListView> 

    </ContentTemplate>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)

有趣的部分是后面的C#代码(方法PlayerItems_ItemDataBound),如下所示:

            ImageButton imgBtn = new ImageButton();
            imgBtn.ID = "itemBtn";
            imgBtn.Width = Unit.Pixel(30);
            imgBtn.ImageUrl = "~/Images/Game/Items/" + myItem.ItemImageUrl;

            ContextMenu menu = new ContextMenu();
            menu.BoundControls.Add(imgBtn);
            menu.ItemCommand += new CommandEventHandler(menu_ItemCommand);

            menu.AutoHide = true;
            menu.RolloverColor = Color.Gray;
            menu.ID = "MenuMenu";

            Panel panel = (Panel)(e.Item.FindControl("ItemPanel"));
            panel.Controls.Add(imgBtn);
            panel.Controls.Add(menu);

            AsyncPostBackTrigger trig = new AsyncPostBackTrigger();
            trig.ControlID = menu.UniqueID;
            trig.EventName = "ItemCommand";
            ItemsUpdatePanel.Triggers.Add(trig);
Run Code Online (Sandbox Code Playgroud)

所以,我实际上在菜单中添加了AsyncPostBackTrigger,因此应该注册ItemCommand事件.当我在此上下文菜单中单击某个项目时发生的事情是完整的回发事件.

我一直试图在没有帮助的情况下玩ChildrenAsTriggers.我也一直在上下移动AsyncPostBackTrigger代码,也没有帮助. …

c# asp.net ajax postback updatepanel

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

SQL查询 - 结合DISTINCT和TOP?

我有以下要查询的查询:

SELECT DISTINCT TOP(5) fp.PostId FROM dbForumPosts fp
LEFT JOIN dbForumEntry fe ON fp.PostId = fe.PostId
Order by fe.Datemade DESC
Run Code Online (Sandbox Code Playgroud)

但是,当我开火时,我收到错误:

Msg 145, Level 15, State 1, Line 1
ORDER BY items must appear in the select list if SELECT DISTINCT is specified.
Run Code Online (Sandbox Code Playgroud)

我试图更改查询,所以它使用GROUP BY,但后来我有以下问题:

Msg 8127, Level 16, State 1, Line 4
Column "dbForumEntry.Datemade" is invalid in the ORDER BY clause because it is not contained in either an aggregate function or the GROUP BY clause.
Run Code Online (Sandbox Code Playgroud)

我想要什么:

把它想象成一个论坛.有帖子(dbForumPosts)和条目(dbForumEntry).pr post有0个条目. …

sql sql-server join distinct

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

在Robomongo中将包含日期的文档插入集合中

我正在与Robomongo合作,我手动插入一个对象.

我想在我的对象上有一个字段,这是当前日期.通常我习惯Date.now()在Javascript中使用.但是,当我在Robomongo工具中使用插入文档表单时,我得到:

Unable to parse JSON:
Expecting '(', at (4, 15).
Run Code Online (Sandbox Code Playgroud)

示例JSON:

{
    serial: '1231323123',
    game: 'World of Warcraft',
    date: Date.now()
}
Run Code Online (Sandbox Code Playgroud)

知道如何插入此记录吗?

mongodb robo3t

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

对于每个循环都有控件并在MVC 4中提交表单(Html.BeginForm)

在我的视图模型中,我有一个对象列表.我迭代这些对象,并为每个对象创建控件.在下面的情况中,我想向人们展示每个对象的文本框和按钮.当用户单击该按钮时,会发布一个帖子,我可以将数据保存在我的控制器中.

在UI中,用户可以更改他们想要的表单,然后单击"保存".

我的问题是模型在发布到控制器时为空.

我的剃刀代码:

       using (Html.BeginForm())
        {
            foreach (var contributor in Model.Contributor)
            {

        @Html.HiddenFor(model => contributor.Id)

        <div class="formrow">
            @Html.ValidationSummary(true)
        </div>

        <h2>@Html.TextRaw("AuthorInfo", "Author")</h2>
        <div class="formrow">

            @Html.EditorFor(model => contributor.FirstName)
            <div class="formvalidation">
                @Html.ValidationMessageFor(model => contributor.FirstName)
            </div>
        </div>


        <div class="formrow right">
            <input type="hidden" name="formsubmitted" value="true" />
            <input type="submit"  class="button" value="@Html.Text("ButtonText", "Save")" />
        </div>
            }
        }
Run Code Online (Sandbox Code Playgroud)

我的视图模型代码

public class ProfileModel
{
    public string Message { get; set; }
    public List<PublisherModel> Publisher { get; set; }
    public List<ContributorModel> Contributor { get; set; }

    public ContributorModel …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc asp.net-mvc-4

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