小编Mic*_*tum的帖子

从Controller Action返回301重定向

在ASP.net MVC上,让控制器将301重定向返回到外部站点的"正确"方法是什么?

各种RedirectTo-Function似乎只返回我手动映射的相对链接或路由,但没有办法说"执行301重定向到http://example.com ".

我想我可以设置Response.StatusCode或使用Response.Redirect,但是它应该在MVC中完成吗?或者是否有正式的"正确方式"来执行重定向?

更新:与此同时,我为此写了一个ActionResult:PermanentRedirectResult

更新2:自ASP.net 4.0以来,永久重定向是框架的一部分.

asp.net-mvc

19
推荐指数
2
解决办法
9075
查看次数

是.NET应用程序中需要的ret指令吗?

我注意到C#编译器retvoid方法结束时生成一条指令:

.method private hidebysig static void Main(string[] args) cil managed
{
    // method body
    L_0030: ret 
} 
Run Code Online (Sandbox Code Playgroud)

我已经为.NET编写了一个编译器,无论我是否发出一个ret语句,它都可以工作(我已经检查了生成的IL,而且确实没有在那里).

我只是想知道:是否需要ret返回void任何方法?它似乎对堆栈没有任何作用,所以我认为这对于void方法来说完全没有必要,但是我想听听那些对CLR有更多了解的人的消息?

.net c# clr

19
推荐指数
3
解决办法
1025
查看次数

C#和JavaScript正则表达式之间的差异?

C#和JavaScript正则表达式有什么不同?

有这些差异的清单吗?

.net javascript c# regex

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

有没有真正的世界理由使用throw ex?

在C#中,throw ex几乎总是错误的,因为它会重置堆栈跟踪.

我只是想知道,这有什么现实世界吗?我能想到的唯一原因是隐藏你的封闭库的内部,但这是一个非常薄弱的​​原因.除此之外,我从未在现实世界中遇到过.

编辑:我的意思是throw ex,就像抛出完全相同的异常,但是使用空堆栈跟踪,就像完全错误一样.我知道throw ex必须作为一种语言结构存在,以允许抛出一个不同的异常(throw new DifferentException("ex as innerException", ex)),并且只是想知道是否存在一个throw ex没有错误的情境.

.net c# exception-handling

18
推荐指数
3
解决办法
1715
查看次数

在ASP.net中组合和缓存多个JavaScript文件

要么我最近做了一个糟糕的梦想,要么我对谷歌来说太愚蠢了,但我记得某个地方有人写道,ASP.net有一个功能允许自动"合并"多个JavaScript文件并且只向客户端提供一个文件,从而减少HTTP请求的数量.

服务器端,您仍然保留所有单独的.js文件,但Runtime本身会创建一个大的JavaScript文件,然后将其包含在脚本标记中,并且可以正确缓存等.

如果这个功能真的存在并且不仅仅是我想象的产物,那么有人可以指出我正确的方向吗?

javascript asp.net

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

Sandcastle - 仍然是正确的用法?还是有其他选择吗?

我只是想知道 - Sandcastle的最后一个版本是从2008年5月开始的,它仍然被列为Pre-Release Software/CTP,它甚至不再获得许可,因为EULA特别指出:

2.TERM.本协议的有效期至2007年9月1日,或软件的商业发布,以先到者为准.

因为Sandcastle相当"重",我只是想知道它是否仍然是正确的使用,或者是否有替代方法来创建XmlDoc文档?(替代品=我可以从我的构建中运行以生成至少HTML,最好是PDF).

.net sandcastle

16
推荐指数
2
解决办法
5444
查看次数

在WinForms应用程序中呈现HTML的最佳方法?

我有一个WinForms应用程序,在.net 3.5上运行.此应用程序动态生成HTML,其中包括完整的文档,以及内联CSS样式表(在head元素内).

我正在使用WebBrowser控件并将browser.DocumentText设置为我生成的HTML,但这似乎没有在body元素上正确应用样式(我在CSS中将background-color设置为#000000,但背景仍为白色).

我想知道是否a)有一些替代方法可以在C#中呈现相对简单的HTML(即完全托管的HTML呈现器)或b)使用WebBrowser控件呈现HTML的最佳方式,包括正确处理inline-css和不使用使用硬盘上的临时文件.

编辑: CSS-not-applied问题是一个单独的问题.我把我的实际CSS放在CDATA块中,这似乎导致它无法正确应用.现在已经确定了,但问题本身仍然存在.

.net html c# webbrowser-control winforms

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

按数字排序字符串列表(1,2,...,9,10而不是1,10,2)

我有一个像这样的列表:

var l = new List<string> {"bla 1.txt","bla 2.txt","bla 10.txt","bla 3.txt"};
Run Code Online (Sandbox Code Playgroud)

如果我调用l.Sort(),列表将以1,10,2,3的顺序排序,这从纯字符串的角度来看是有意义的,但是从用户角度来看很糟糕.

因为我不想/不能强迫我的用户将它们命名为01,02,03,...我想知道是否有内置方法或简单算法来正确检测和排序数字,以便我有1,2,3,10?由于数字只有1或2个字符长(即不超过99),我可以做一个正则表达式,暂时为所有1位数字加前缀0和排序,但在重新发明轮子之前,我想知道是否已存在某些内容?

.net 3.5SP1如果重要,不是4.0

.net c# sorting numbers

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

CruiseControl.net,msbuild,/ p:OutputPath和CCNetArtifactDirectory

我正在尝试设置CruiseControl.net.到目前为止它工作得很好,但我遇到了MSBuild任务的问题.

根据文档,它将CCNetArtifactDirectory传递给MSBuild.但是我该如何使用它?

我试过这个:

<buildArgs>
   /noconsolelogger /p:OutputPath=$(CCNetArtifactDirectory)\test
</buildArgs>
Run Code Online (Sandbox Code Playgroud)

但这不起作用.实际上,它会使用以下错误杀死服务:

ThoughtWorks.CruiseControl.Core.Config.Preprocessor.EvaluationException:对未知符号的引用CCNetArtifactDirectory

文档相当稀疏,google und主要提供修改.sln项目文件,这是我想要避免的,以便以后能够手动构建这个项目 - 我真的更喜欢/p:OutputPath.

cruisecontrol.net msbuild

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

如何将脚本语言实现到C应用程序中?

我有一个C应用程序,我想包括一个脚本语言将某些功能放入脚本.我对此没有任何经验,也不知道从哪里开始(仍在学习C并尝试理解应用程序).

我的应用程序和脚本之间的嵌入和通信实际上如何工作?我想我需要脚本语言的解释器作为一个库(Windows上的.dll或可以编译到我的应用程序中的C源代码)?然后我可以做类似的事情

interpreter->run("myscript", some_object);
Run Code Online (Sandbox Code Playgroud)

脚本如何知道对象的属性?假设我的脚本想要读取或修改some_object-> some_field?

是否有针对这种嵌入优化的脚本语言?我知道Lua在游戏开发中很受欢迎,而像Python,Perl,PHP或Ruby这样的语言似乎更有针对性地作为独立的应用程序,但我在深层架构中的知识不允许更多有根据的猜测:) (标记为Lua和Python因为它们是我的最爱,但只要它在x86 Windows,Linux和Mac OS X上运行,我就可以使用其他脚本语言,只要它们很容易实现到C应用程序中)

c python scripting lua

14
推荐指数
5
解决办法
4248
查看次数