小编Kje*_*sen的帖子

如何在vb.net中公开获取属性但是私有设置?

我只是在一些C#代码中偶然发现了这个...:

public Foo     Foo    { get; private set; }
Run Code Online (Sandbox Code Playgroud)

我怎么能在vb中做同样的事情?

vb.net

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

从 ATOM feed 中解析长格式的日期

我从 rss-feed (atom) 中以 javascript 获取此日期:

2009-09-02T07:35:00+00:00
Run Code Online (Sandbox Code Playgroud)

如果我尝试 Date.parse ,我会得到 NaN 。

我怎样才能将其解析为日期,以便我可以对其进行日期处理?

javascript jquery

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

在XLST中对节点进行排序

这段代码选择了我想要处理的节点...:

<xsl:variable name="rootTextpageNode" 
     select="$currentPage/ancestor-or-self::node [@level = 2 and
             @nodeTypeAlias = 'CWS_Textpage']" />
Run Code Online (Sandbox Code Playgroud)

如何在那里放置排序/订单,所以首先显示带有较新createdDate的项目?

我正在使用CWS入门套件,需要更改SubNavi.xslt中显示的项目的顺序

xslt umbraco

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

如何在 Asp.Net Core 2.2 中禁用/启用运行时身份验证?

网站默认只能匿名访问。

管理员有一个按钮可以将站点切换到维护模式,这应该使用内置的 CookieAuthentication 启用授权(在数据库中稍微翻转一下,与本文无关)。

为了实现这一点,我首先配置了 cookie 身份验证(在startup.cs中):

public void ConfigureServices(IServiceCollection services)
{
    services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
            .AddCookie(CookieAuthenticationDefaults.AuthenticationScheme,
                options =>
                {
                    options.LoginPath = new PathString("/auth/login");
                });
} 

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
   app.UseAuthentication();
}
Run Code Online (Sandbox Code Playgroud)

然后在相关的控制器上,我添加了一个[Authorize]属性。

[Authorize]
public class HomeController : Controller
{
  //removed
}
Run Code Online (Sandbox Code Playgroud)

这工作得很好——当授权属性存在时,cookie 验证就会启动。到目前为止,一切都很好。

现在我想在维护模式关闭时在运行时禁用授权。

尝试的解决方案

这是我经过大量尝试、错误和研究后得到的结果。

public void OnAuthorization(AuthorizationFilterContext context)
    {
        IMaintenanceModeDataService ds = context.HttpContext.RequestServices.GetService<IMaintenanceModeDataService>();

        if (!ds.IsMaintenanceModeEnabled)
        {
            //Maintenance mode is off, no need for authorization
            return;
        }
        else
        {
            ClaimsPrincipal user = context.HttpContext.User; …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core-mvc asp.net-core asp.net-core-2.2

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

在所有 ASP.Net Core Razor 视图中注入服务

如何将服务注入所有 Razor 视图中?

在视图中,我需要访问服务(存储本地化文本),我可以像这样注入它:

@inject IResourceHelper _resourceHelper
Run Code Online (Sandbox Code Playgroud)

然后我可以像这样使用它......:

<a id="somelink" title="@(_resourceHelper.GetText("somelink-title"))"></a>
Run Code Online (Sandbox Code Playgroud)

效果很好。然而,由于我在所有视图中都需要这个(几乎),所以我想只注入一次 - 并让它在任何地方都可用。

我已经研究过 _ViewImports.cshtml,它似乎很适合这样的东西 - 我已经添加了一些标记帮助程序,如下所示:

@addTagHelper MyProject.Internationalization.TagHelpers.*, MyProject.Core
Run Code Online (Sandbox Code Playgroud)

我尝试在那里添加注入语句,但它不会使该服务在剃刀视图中可用。

如何将服务注入所有 Razor 视图中?

dependency-injection razor asp.net-core

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

LinqToSql中的标量函数

在ADO.Net/SQLClient中,我经常会这样做:

SELECT COUNT(*) FROM SomeTable WHERE SomeKey = 1234

...并使用executioncalar来触发count来返回count的值 - 以便检查是否存在某些内容.

我如何使用LinqToSql做同样的事情?

.net scalar linq-to-sql

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

使用Powershell将列表输出转换为对象数组或类似对象

我知道如何通过PSObjects将散列表,数组等从Powershell返回到c#.为了使用它,我需要从Powershell脚本返回一个对象 - 而不仅仅是列出输出.

但是,如何从Powershell中的列表中获取可以从Powershell脚本返回的结构?

想想这个简单的场景(例如用途):

Get-ChildItem C:\Test
Run Code Online (Sandbox Code Playgroud)

我得到类似这样的输出:

PS C:\test> Get-ChildItem

Directory: C:\test

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---        03.06.2013     14:59          6 test1.txt
-a---        03.06.2013     14:59          5 test2.txt
Run Code Online (Sandbox Code Playgroud)

现在我想获取每个文件的Name和Length属性,并将它作为某种对象从powershell脚本返回,我可以使用C#进行处理.

我可以从C#处理的一个例子是:

$a = New-Object psobject -Property @{
   Name = "test1.txt"
   Age = 6
}

$b = New-Object psobject -Property @{
    Name = "test2.txt"
    Age = 5
}

$myarray = @()

$myarray += $a
$myarray += $b

Return $myarray
Run Code Online (Sandbox Code Playgroud)

如何从Get-ChildItem(或类似的列表)获取对象数组或类似的东西?

请注意,这与Get-ChildItem无关,它仅用作输出列表的示例.

powershell

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

邮箱列表的Get-Mailboxpermission

我想获取指定邮箱列表的所有权限列表.

要获得只有一个的所有权限,我可以这样做:

Get-MailboxPermission -Identity "Mailbox01"
Run Code Online (Sandbox Code Playgroud)

如果我想一次获取多个邮箱的权限列表,该怎么办?

就像是:

Get-MailboxPermission -Identity "Mailbox01","Mailbox02","Mailbox03"
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做 - 在一个列表中?

powershell exchange-server exchange-server-2010

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

我们是否需要保护 cookie .ASPXANONYMOUS

您能否告知我们是否需要保护 cookie.ASPXANONYMOUS?

谢谢你。

asp.net security cookies

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

基于属性的路由,具有不同名称的参数与变量 - aspnetcore

我需要这样做

[Route("/api/highfive/{person_name}")]
public IActionResult HighFive(string personName){
   //do stuff
}
Run Code Online (Sandbox Code Playgroud)

有没有办法将变量 personName 映射到路由中作为 person_name 提供的内容?

只要路由参数和变量名匹配(这是有意义的),下面的两个选项就可以工作。

[Route("/api/highfive/{person_name}")]
public IActionResult HighFive(string person_name){
   //do stuff
}

[Route("/api/highfive/{personName}")]
public IActionResult HighFive(string personName){
   //do stuff
}
Run Code Online (Sandbox Code Playgroud)

但你为什么想要这个?

  • Swagger 生成的文档必须与之前的 API 相匹配,这正在替换 - 并且它使用路由中的变量名称来生成文档。

  • 使用 person_name 作为变量名违反了我们的命名约定

  • 是的,这有点愚蠢 - 但如果有一个我不知道的简单解决方案,那就太棒了。

c# swagger .net-core asp.net-core nswag

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