小编Jez*_*Jez的帖子

忽略Javascript正则表达式模式中的空格?

根据我的研究,看起来Javascript的正则表达式没有任何内置等效于Perl的/ x修饰符,或.NET的RegexOptions.IgnorePatternWhitespace修饰符.这些非常有用,因为它们可以使复杂的正则表达式更容易阅读.首先,我错过了什么,是否有一个内置的Javascript相当于这些?其次,如果没有,有没有人知道一个好的jQuery插件将实现这个功能?由于Javascript明显的正则表达式限制,必须将复杂的正则表达式压缩成一行是一种遗憾.

javascript regex whitespace

14
推荐指数
2
解决办法
7016
查看次数

为什么EF代码首先生成一个无关的外键列?

我正在使用实体框架代码 - 首先自动创建我的数据库模式,我的一个实体看起来像这样:

public class AssessmentsCaseStudies {
    #region Persisted fields
    [Required]
    [Key, Column(Order=0)]
    [ForeignKey("Assessment")]
    public int AssessmentId { get; set; }

    [Required]
    [Key, Column(Order=1)]
    [ForeignKey("CaseStudy")]
    public int CaseStudyId { get; set; }

    [Required]
    public int Score { get; set; }

    [ForeignKey("Follows")]
    public int? FollowsCaseStudyId { get; set; }
    #endregion

    #region Navigation properties
    public virtual Assessment Assessment { get; set; }
    public virtual CaseStudy CaseStudy { get; set; }
    public virtual CaseStudy Follows { get; set; }
    #endregion
}
Run Code Online (Sandbox Code Playgroud)

当EF自动生成我的数据库时,它会生成一个包含以下列的表:

AssessmentId …
Run Code Online (Sandbox Code Playgroud)

c# database entity-framework ef-code-first

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

在Powershell中设置IIS绑定证书时出现问题

我正在编写一个Powershell脚本来浏览我的IIS绑定列表,查找任何具有特定"旧"证书指纹的内容,并将其证书替换为具有"新"指纹的证书.这样我就可以为许多绑定更新证书,因为我们对很多站点使用相同的证书,因此我们需要将具有旧证书的所有绑定更新到新证书.这是我想出的:

##### EDIT THESE VARIABLES #####
$SiteName = "movc-website-www"
$OldCertThumbprint = "?76 ae 0b 2e b9 f7 45 ce 27 c4 02 6e 90 66 62 93 69 d7 5e 4c"
$ReplacementCertThumbprint = "?7f fa 9f f3 90 b8 a2 d8 4c 98 51 47 a5 64 1d 90 f6 2f ca 73"

##### FUNCTIONS #####
Function ReplaceWebsiteBinding {
    Param(
        [string] $SiteName,
        [string] $OldCertThumbprint,
        [string] $ReplacementCertThumbprint
    );

    Import-Module WebAdministration;

    $ReplacedCount = 0

    $IISBindings = (Get-ItemProperty -Path "IIS:\Sites\$SiteName" -Name Bindings)
    for …
Run Code Online (Sandbox Code Playgroud)

iis powershell ssl certificate

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

使用System.IO.Packaging生成ZIP文件

我知道DotNetZip或SharpZipLib库的喜欢,通常建议在.NET语言创建ZIP文件(在我的情况下,C#),但它不是不可能使用System.IO.Packaging生成的ZIP文件.我认为尝试在C#中开发一个可以执行此操作的例程可能会很好,而无需下载任何外部库.有没有人有一个System.IO.Packaging用于生成ZIP文件的方法或方法的好例子?

.net c# zip

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

使构建前和构建后的事件脚本相当漂亮?

我的Visual Studio 2008项目有一些中等大小的构建前和构建后事件脚本(实际上它主要是构建后的事件脚本).它们工作正常,因为它们正常运行,当我exit 0构建成功时,当exit 1构建失败并出现错误时.但是,这个错误是巨大的,并且是这样的:

The command "if Release == Debug goto Foo
if Release == Release goto Bar
exit 0

:Foo
mkdir "abc"
copy "$(TargetDir)file.dll" "abc"
[...]
" exited with code 1.
Run Code Online (Sandbox Code Playgroud)

你明白了.整个脚本始终作为错误描述的一部分转出.在构建发生时,整个脚本也会在"输出"窗口中转储出来.那么,为什么我在网上看到各种参考文献echo在这些脚本中使用?例如,以下是一个特定网站上的示例的一部分:

:BuildEventFailed
echo POSTBUILDSTEP for $(ProjectName) FAILED
exit 1
:BuildEventOK
echo POSTBUILDSTEP for $(ProjectName) COMPLETED OK
Run Code Online (Sandbox Code Playgroud)

有没有办法让Visual Studio禁止除了echoed 之外的所有脚本输出(因此echo只使用输出你想要的东西),或者这些例子是误导的,他们没有意识到整个脚本是总是甩出来的?

c# scripting build visual-studio-2008 visual-studio

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

using指令在哪里可以放在ASP.NET Razor页面中?

我传统上总是将@using指令放在我的ASP.NET Razor页面的顶部,以及@model指令.但是,对于我的整体布局,我想确保DOCTYPE声明是在文档的最开头,所以我想@using稍微向下推.你有效吗?

<!DOCTYPE html>
<html>
    @using My.Library;
    <head>
        <title>Test web page</title>
        ...
Run Code Online (Sandbox Code Playgroud)

另外,有没有关于@using指令在Razor页面中可以使用的文档?我似乎找不到任何东西.例如,在其他一些Razor代码之后使用它是否有效,还是必须先出现?

.net asp.net doctype razor

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

如何获得ASP.NET Core中已注册中间件的列表?

在ASP.NET Core中,可以Configure使用用于Web主机构建器的启动类的方法,在过程中注册新的中间件到请求处理管道中app.UseMiddleware(...)。但是,在调试期间,如何获得已注册的中间件提供程序的列表?我看不到任何实际查看已为该应用程序注册的中间件的方法。

c# middleware asp.net-core

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

为什么MSBuild会忽略我的BeforePublish目标?

我必须在这里遗漏一些明显的东西,但我在ASP.NET MVC Web项目.csproj文件的末尾有这个:

    [...]
    <Target Name="BeforePublish">
        <Error Condition="'foo'=='foo'" Text="test publish error" />
    </Target>
</Project>
Run Code Online (Sandbox Code Playgroud)

据我所知,这应该总是导致发布失败并出现错误.然而,如果我加载项目,右键单击它,然后单击"发布",这个东西会毫不费力地发布.我错过了什么?

msbuild visual-studio-2010

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

是否可以使用RedirectToAction清除路径值?

我想重定向到同一控制器中的操作,但丢失路由值(特别是id值).事实证明这非常困难.我有像这样配置的路由:

context.MapRoute(
    "Monitoring_controllerIdSpecified",
    "Monitoring/{controller}/{id}/{action}",
    new { action = "Status" }
);

context.MapRoute(
    "Monitoring_default",
    "Monitoring/{controller}/{action}",
    new { controller = "Events", action = "Index" }
);
Run Code Online (Sandbox Code Playgroud)

......以及EventsController像这样的动作方法:

public ActionResult Status(int id) {
    if (id > 1000) {
        TempData["ErrorMessage"] = "ID too high.";
        return RedirectToAction("Index", new { id = (int?)null });
    }

    // (code to display status)
}
Run Code Online (Sandbox Code Playgroud)

如果我然后访问类似的东西/Monitoring/Events/1001,RedirectToAction确实被调用,但我被重定向到/Monitoring?id=1001而不是仅仅/Monitoring.它似乎匹配第一个路由,Monitoring_controllerIdSpecified即使该路由具有id强制路由参数,我告诉它设置id为null,并且奇怪地id变成查询字符串键.换句话说,它没有正确清除/删除id路线值.设置id为 …

asp.net-mvc routes

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

我怎样才能等待最短的时间?

我有一个异步C#方法,我获取HTTP资源,我在无限循环中进行.但是我不想太快地击中资源.我目前的代码是:

HttpClient http = new HttpClient();
while (true) {
    // Long-poll the API
    var response = await http.GetAsync(buildUri());

    Console.WriteLine("Resp: " + response.ToString());
    Console.WriteLine("CONTENT:");
    Console.WriteLine(await response.Content.ReadAsStringAsync());
}
Run Code Online (Sandbox Code Playgroud)

但是,我希望能够确保每10秒钟不会发生一次HTTP请求.所以我想在循环开始时启动一个10秒计时器,最后说"等待完成10秒计时器".有没有办法在C#.NET中执行此操作?

.net c# asynchronous

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