小编Ton*_*llo的帖子

MVC3领域的相对内容路径

我发现这个问题不能使用ASP.NET MVC 2中的区域的相对路径,这与我遇到的问题相同.在MVC3中仍然如此吗?

有没有办法将内容文件保存在相对于该区域的区域中?

这样一个区域中的布局文件可以有类似的东西

无需创建完全限定的链接,需要区域目录和区域名称或上述问题的解决方案,这需要检查每个请求的每个区域.

更新/编辑

我决定使用上面问题中的解决方案和下面的解决方案(html帮助程序) - 取决于项目/情况.我上面的实现使用app.setting来存储区域名称和扩展名,这样我就可以将模块作为我的库的一部分.

var context = HttpContext.Current;
var path = context.Request.Path;
var list = ...       //code that gets from app.config and then saves it
var extensions = ... // to the cache as non-removable with a dependency on web.config
foreach (var area in list)
{
   if (!path.Contains(area + "/")) continue;
   foreach (var extension in extensions)
   {
      if (path.EndsWith("." + extension))
      {
         context.RewritePath(path.Replace(area + "/", "Areas/" + area + "/"));
      }

    } …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc asp.net-mvc-areas

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

JavaScript对象的生命和内存泄漏

我已经对此进行了相当多的研究,但主要是将其他问题拼凑在一起,这仍然存在一些疑问.在一个不会随时刷新浏览器页面的应用程序中,可能会在不关闭的情况下生存很长时间(小时)(假设刷新页面或导航到另一个页面会重新启动js代码),确保对象的最佳方法是什么释放并且没有内存泄漏.

这些是我关注的特定场景:

下面的所有代码都在一个揭示模块模式中.

mycode = function(){}()
Run Code Online (Sandbox Code Playgroud)

函数中的变量,我确信GC收集的这个很好

function(){ var h = "ss";}
Run Code Online (Sandbox Code Playgroud)

模块中的变量,当不再需要g = null时?

var g;
function(){ g = "dd";}
Run Code Online (Sandbox Code Playgroud)

最后是jqXHR的生命:它在返回后是否被清理干净了?在所有情况下是否应将其设置为null作为预防措施是否保留在函数或模块中?

如果这样做,它返回后是否被GC清理了?:

function(){
   var x = $.get();
   x.done = ...;
   x.fail = ...;
}
Run Code Online (Sandbox Code Playgroud)

这样做的时候,它会在x返回后被清理掉吗?:

var x;
function(){
   x = $.get();
   x.done = ...;
   x.fail = ...;
}
Run Code Online (Sandbox Code Playgroud)

最后,有没有办法清理所有变量并重新启动模块而无需重新启动浏览器?

javascript jquery memory-leaks

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

LINQ版TOP PERCENT

有没有办法使用百分比执行top(Take)linq查询?T-SQL本来是:

SELECT TOP 20 PERCENT ...
Run Code Online (Sandbox Code Playgroud)

但LINQ似乎只想要一个int.

似乎我不得不做一个计数然后采取.有什么建议?

linq linq-to-sql

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

Azure网站 - 扩展与扩展

有没有人看到任何分析或信息何时是理想的扩展与扩展.什么时候比另一个更有意义.

目前,在标准和基本模式下,2个小实例的成本与单个媒体相同.

有2个小实例,因此有4 GB RAM,与1个具有4 GB RAM(但没有SLA)的Medium实例相同; 和核心相同.所有其他功能都是一样的.

CPU压力或内存压力,两个简单的指标,决定了哪种方式可扩展?

而且,在这种情况下,对于在不同计算机上工作的应用程序/站点,向外扩展不会出现问题.

azure

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

在 Azure DevOps 中安装 Mono 以进行 Nuget 部署

我有一个存储库,用于构建 Nuget 包并将其部署到 Azure DevOps 中的 VSTS 源。效果一直很好。但我的空闲时间用完了:(

因此,现在我将使用 VMSS ado 代理,用于部署到 Azure 应用服务。(Linux)

因此,我将 pool: agentname 添加到我的 yaml 中。但是,我现在在推送时遇到单声道错误。

##[error]Error: Unable to locate executable file: 'mono'. Please verify either the 
file path exists or the file can be found within a directory specified by the 
PATH environment variable. Also check the file mode to verify the file is executable.
Run Code Online (Sandbox Code Playgroud)

VMSS不是我创建的,所以我不知道是否安装了mono。但是,该代理用于构建和部署 .net core 5 应用程序,所以???我查了一下,我认为它没有安装(我不熟悉Linux命令,但我尝试过:mono、find,这些都表明没有安装)。

有没有办法只为 nuget 部署(作为管道的一部分)安装 mono,还是我需要搞乱 VMSS?

在此输入图像描述

mono azure nuget azure-devops

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

数据URI与数据库中的二进制文件

我正在使用DATA URI(客户端,使用画布)将图像发布到服务器.我现在有两个选择:我可以将"image"保存为varchar(max)列中的字符串,或者我可以将其转换为byte []并将其保存为varbinary(max).

就实施而言,努力是一样的.我试图确定哪个更有效率,直到1:数据库中的空间和2:显示图像.有没有人看到对此有任何分析或有一个很好的方法来衡量这个?

AN FYI - 一个3kb的图像在DB中大约有100K个字符.

使用:ASP.NET 4.5,MVC,SQL Server 2008

澄清

我可以使用varbinary(MAX)列中的byte []将图像存储在数据库中,就像通常情况一样,或者我可以存储HTML5画布中看起来像数据的DATA URI :image/png; base64,iVBORw0K .. .在varchar(max)列中.

存储byte []是典型的,无需进一步解释.存储DATA URI只是一个字符串,显示图像将是一个问题:

<img src="data:image/png;base64,iVBORw0K" /> or
<img src="@Model.Uri" />
Run Code Online (Sandbox Code Playgroud)

我的问题是哪一个更具性能和节省空间,如果有任何文档,白皮书或围绕这个具体比较的分析.

database sql-server asp.net-mvc image-processing data-uri

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

不能在指令中使用$ uibModal但可以在控制器中访问

我想制定一个指令来打开一个模态.但$ uibModal未在指令内定义.

var app=angular.module("app",['ui.bootstrap']);

app.controller('AppCtrl', function ($scope, $uibModal) {
    console.log("$uibModal controller",$uibModal);//getting object
});

app.directive('showPopUp',function() {
    return {
        restrict: 'EA',
        link: function(scope, el, attrs,$uibModal) {
            console.log("$uibModal",$uibModal);//undefined here
                var modalInstance = $uibModal.open({
                  animation: $scope.animationsEnabled,
                  templateUrl: 'popup.html',
                });

                modalInstance.result.then(function (selectedItem) {
                  scope.selected = selectedItem;
                }, function () {
                });

        }  
    }
});
Run Code Online (Sandbox Code Playgroud)

如何在我的指令中使用$ uibModal来打开模态?

angularjs angularjs-directive bootstrap-modal

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

为什么用局部变量替换参数会加快查询速度

我有一个包含两个 DATE 参数的查询,如下所示:

@startDate DATE,
@endDate DATE
Run Code Online (Sandbox Code Playgroud)

在开发存储过程时,它非常棒(< 1 秒)。小时候把它移到存储过程中,当我再次运行它时,需要几分钟才能运行(确切地说是 2 分钟)。

我之前遇到过这个问题(我认为这是我当时没有追究的一些异常现象),所以我尝试了最后一个有效的“黑客”:

DECLARE @sDate DATE = CAST(@startDate AS DATE);
DECLARE @eDate DATE = CAST(@endDate AS DATE);
Run Code Online (Sandbox Code Playgroud)

果然,返回时间小于 1 秒。

我已经尝试了一切来解决这个问题,但似乎没有任何效果。我找不到任何改变任何东西的差异。无论我尝试以多少种不同的方式对其进行切片,这些值都是完全相同的。

我也尝试过:

SET @startDate = CAST(@startDate AS DATE);
SET @startDate = CONVERT(date, @startDate, 101)
Run Code Online (Sandbox Code Playgroud)

我尝试在父存储过程中重新声明它们(使用任何方法)。

仅当我重新声明子存储过程中的变量时,它才有效。

那么,为什么重新声明相同类型的变量会导致性能如此巨大的差异呢?

更新 - 这参数嗅探

我最初并不这么认为,但所有证据都表明事实确实如此,尽管我无法使用通常有效或有助于识别它的正常方法来修复它。除了用局部变量替换它之外,在下面所有海报的帮助下,它表明它必须是参数嗅探。


第一次更新

我不认为这是参数嗅探——这是我的第一个想法。这就是我所做的测试:

  • 更改的参数(添加/删除)
  • 向查询添加了附加条件
  • 添加了重新编译选项
  • 设置 ARITHABORT 为 ON
  • 删除/创建旧索引和新索引

上述更改对查询没有影响。

sql t-sql sql-server

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

检查null,哪个更好?"null =="或"== null"

杜佩:无与伦比

一生以前我遇到过一篇文章,解释说以下内容并不相同(在c#中):

if (o == null) {}
if (null == o) {}
Run Code Online (Sandbox Code Playgroud)

文章解释说后者是首选,因为它导致更准确的测试.从那时起我一直在编码.现在我了解了很多,我正在寻找这篇文章,或者其他类似文章,看看确切的结果是什么,但我找不到关于这个主题的任何内容.

思考?有区别吗?乍一看会说不.但谁知道IL和C#编译的内容会发生什么.

.net c# null

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

静态类作为实例属性

我有一个基于接口的类,我希望有一些静态类作为属性.但是,我似乎无法找到一种方法来将静态类用作基于接口的类的实例属性.

public interface IHttpHelp
{
   ItemsManager {get;set;}
}

public static class ItemsManager
{
   //static methods
}

public class HttpHelper
{
   public ItemsManager { get { return ItemsManager;} 
}
Run Code Online (Sandbox Code Playgroud)

上面的代码不起作用,因为"ItemsManager像变量一样使用,但它是一个类型错误." 反正以这种方式使用课程吗?

为了深入了解我正在做什么 - 我有一些静态帮助程序类可以访问httpruntime和当前上下文.我目前直接使用它们,但想进入一个将用于IoC的容器类.我可以让它们成为实例类而忘记它,但我想知道有没有办法解决这个问题.

c# architecture

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

空白的正则表达式模式

我正在创建一个使用HTML的正则表达式库(我会在完成后将它发布在MSDN代码上).其中一个方法在结束标记之前删除任何空格.

<p>See the dog run </p>
Run Code Online (Sandbox Code Playgroud)

它将在结束段落之前消除空间.我用这个:

    public static string RemoveWhiteSpaceBeforeClosingTag(string text)
    {
        string pattern = @"(\s+)(?:</)";
        return Regex.Replace(text, pattern, "</", Singleline | IgnoreCase);
    }
Run Code Online (Sandbox Code Playgroud)

你可以看到我用</替换空格,因为我似乎无法匹配空格并排除结束标记.我知道有办法 - 我只是没想出来.

.net c# regex

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

Application Insight (Azure) 中的计时事件

我一直在寻找一种方法来计时事件并将它们绘制在 Azure 上。寻找事件较慢的热点以进行进一步分析。

我目前可以执行以下操作,例如:

var p = new Dictionary<string, string> {{ "StartTime", startTime.Value.ToString("g") }, { "EndTime", endTime.Value.ToString("g") }};
var m = new Dictionary<string, double> {{ "ElapsedSeconds", (endTime.Value - startTime.Value).TotalSeconds }};

ai.TrackEvent(eventName, p, m);
Run Code Online (Sandbox Code Playgroud)

这将使我能够一次查看一个事件并知道它花费了多长时间。但是没有简单的方法来查看它的图表。但是,我注意到他的 javascript 库有一个 startTrackEvent 和 stopTrackEvent(AI 文档),这看起来很理想。

有没有人看到一种内置方式或现有方式来跟踪定时服务器事件?

azure azure-application-insights azure-web-app-service

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