我发现这个问题不能使用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) 我已经对此进行了相当多的研究,但主要是将其他问题拼凑在一起,这仍然存在一些疑问.在一个不会随时刷新浏览器页面的应用程序中,可能会在不关闭的情况下生存很长时间(小时)(假设刷新页面或导航到另一个页面会重新启动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)
最后,有没有办法清理所有变量并重新启动模块而无需重新启动浏览器?
有没有办法使用百分比执行top(Take)linq查询?T-SQL本来是:
SELECT TOP 20 PERCENT ...
Run Code Online (Sandbox Code Playgroud)
但LINQ似乎只想要一个int.
似乎我不得不做一个计数然后采取.有什么建议?
有没有人看到任何分析或信息何时是理想的扩展与扩展.什么时候比另一个更有意义.
目前,在标准和基本模式下,2个小实例的成本与单个媒体相同.
有2个小实例,因此有4 GB RAM,与1个具有4 GB RAM(但没有SLA)的Medium实例相同; 和核心相同.所有其他功能都是一样的.
CPU压力或内存压力,两个简单的指标,决定了哪种方式可扩展?
而且,在这种情况下,对于在不同计算机上工作的应用程序/站点,向外扩展不会出现问题.
我有一个存储库,用于构建 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?
我正在使用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)
我的问题是哪一个更具性能和节省空间,如果有任何文档,白皮书或围绕这个具体比较的分析.
我想制定一个指令来打开一个模态.但$ 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来打开模态?
我有一个包含两个 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)
我尝试在父存储过程中重新声明它们(使用任何方法)。
仅当我重新声明子存储过程中的变量时,它才有效。
那么,为什么重新声明相同类型的变量会导致性能如此巨大的差异呢?
我最初并不这么认为,但所有证据都表明事实确实如此,尽管我无法使用通常有效或有助于识别它的正常方法来修复它。除了用局部变量替换它之外,在下面所有海报的帮助下,它表明它必须是参数嗅探。
第一次更新
我不认为这是参数嗅探——这是我的第一个想法。这就是我所做的测试:
上述更改对查询没有影响。
杜佩:空无与伦比
一生以前我遇到过一篇文章,解释说以下内容并不相同(在c#中):
if (o == null) {}
if (null == o) {}
Run Code Online (Sandbox Code Playgroud)
文章解释说后者是首选,因为它导致更准确的测试.从那时起我一直在编码.现在我了解了很多,我正在寻找这篇文章,或者其他类似文章,看看确切的结果是什么,但我找不到关于这个主题的任何内容.
思考?有区别吗?乍一看会说不.但谁知道IL和C#编译的内容会发生什么.
我有一个基于接口的类,我希望有一些静态类作为属性.但是,我似乎无法找到一种方法来将静态类用作基于接口的类的实例属性.
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的容器类.我可以让它们成为实例类而忘记它,但我想知道有没有办法解决这个问题.
我正在创建一个使用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)
你可以看到我用</替换空格,因为我似乎无法匹配空格并排除结束标记.我知道有办法 - 我只是没想出来.
我一直在寻找一种方法来计时事件并将它们绘制在 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 ×3
c# ×3
.net ×2
asp.net-mvc ×2
sql-server ×2
angularjs ×1
architecture ×1
azure-devops ×1
data-uri ×1
database ×1
javascript ×1
jquery ×1
linq ×1
linq-to-sql ×1
memory-leaks ×1
mono ×1
nuget ×1
null ×1
regex ×1
sql ×1
t-sql ×1