小编mtk*_*nko的帖子

FormsAuthenticationModule在哪里注册?

现在我试图找出asp.net mvc身份验证的详细信息.据我所知,FormsAuthenticationModule检查cookie并填写HttpContext.User.但是我无法找到为我的应用程序注册FormsAuthenticationModule的位置?

asp.net authentication asp.net-mvc

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

仅在一个类中设置泛型类型

我有两个通用类:

public class First<T>
{
    ...
}
public class Second<T>
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

我使用Second类作为First类构造函数的参数:

var instance = new First<int>(new Second<int>());
Run Code Online (Sandbox Code Playgroud)

是否可以仅为First类构造函数指定泛型类型(在我的示例中为整数),如下所示:

var instance = new First<int>(new Second());
Run Code Online (Sandbox Code Playgroud)

c# generics

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

信号量:了解初始和最大请求​​数

我正在学习 c# semaphore 并且不明白一点。我可以像这样初始化信号量:

var semaphore = new Semaphore(4, 6);
Run Code Online (Sandbox Code Playgroud)

很多地方都有这样的解释:

如果要为调用线程保留一些插槽,可以通过使第一个参数小于第二个参数来实现。

这是否意味着只有主线程可以使用剩余的 2 个资源槽?这是否意味着如果我这样写:

var semaphore = new Semaphore(0, 6);
Run Code Online (Sandbox Code Playgroud)

只有主线程可以使用所有 6 个插槽?

c# multithreading semaphore

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

创建用于复杂筛选的sql索引

sql数据库中有表human。我有此表的用户界面和过滤器形式,如下所示:在此处输入图片说明

我只能设置一些值(例如,仅年龄和州)。如果未指定过滤器项,则不会将其添加到sql WHERE条件中。WHERE条件,以便被组合在画面描述。因此,如果我想为所有情况创建索引以提高性能,则需要创建以下索引:

  • 名字
  • 年龄
  • 生日
  • 性别
  • 名+姓
  • 名+姓+年龄
  • 名+姓+年龄+州
  • ...
  • 州+生日
  • 州+生日+性别
  • ...
  • 国家+性别

    对我来说不好 我应该只选择最常用的组合吗?你怎么看?

mysql sql sql-server indexing

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

从同步操作方法调用异步方法:Task.Run 或ConfigureAwaits(false)

我可以使用以下两种方法来防止控制器的同步操作方法中异步任务的结果调用出现死锁:任务上的ConfigureAwaits(false)或使用Task.Run。在这两种情况下,异步方法都将在线程池中的线程上完成。控制器来源:

public class TestController : Controller
{
    /// <summary>
    /// Thread from threadpool will be used to finish async method.
    /// </summary>
    public string TaskRun()
    {
        return Task.Run(GetStatus).Result + " <br/> " +
                Thread.CurrentThread.ManagedThreadId + " - " +
                Thread.CurrentThread.IsThreadPoolThread;
    }

    /// <summary>
    /// After completion it will try to finish async method in original thread used to work for httprequest.
    /// </summary>
    public string Deadlock()
    {
        return GetStatus().Result;
    }

    /// <summary>
    /// Thread from …
Run Code Online (Sandbox Code Playgroud)

c# deadlock asynchronous task

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

ASP.NET Core:AddEnvironmentVariables不会加载变量

我有一个asp.net core应用程序(.NET Core 2.1)。类中的ConfigureServices方法中有一个代码Startup

Configuration = new ConfigurationBuilder()
    .SetBasePath(_hostingEnvironment.ContentRootPath)
    .AddJsonFile("appsettings.json", false, true)
    .AddJsonFile($"appsettings.{_hostingEnvironment.EnvironmentName}.json", false, true)
    .AddEnvironmentVariables("MyApp:")
    .Build(); 
Run Code Online (Sandbox Code Playgroud)

另外,我设置系统环境变量MyApp:DumpFolder以覆盖中的DumpFolder设置appsettings.json。在这里,我面临着奇怪的行为:

  1. 如果我从运行应用程序visual studioF5 -它不能看到我的系统环境变量
  2. 如果我bin/Debug使用dotnet MyApp.dll- 从文件夹构建并运行它,它将正确加载变量。

我检查了asp.net core一下,发现它使用的Environment.GetEnvironmentVariables()方法默认情况下(未指定EnvironmentVariableTarget)从当前进程中检索变量。我不明白为什么从中运行应用程序时为什么不加载变量visual studio

c# environment-variables asp.net-core

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

在linq中的Select()之后的ToList()

是否需要在此代码中的Select()之后使用ToList():

var names = someStorage.GetItems().Select(x => x.Name).ToList();
Run Code Online (Sandbox Code Playgroud)

c# linq

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

这是什么意思$('td:gt(-2)')?

我读过关于:gt jquery选择器的文章,我实际上并不明白它是什么意思"......从最后一个元素向后计数." $( "td:gt(-2)" )?我不明白为什么最后一个细胞满足这个条件.

jquery

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

用"not contains"写下regexpression

我有这三个字符串:

xhtml.AddHtml( g_Lang.Text( Id,L_EXPORT_IS_NOT_SUPPORTED_FOR_THIS_ELEMENT ), false);
xhtml.AddHtml( g_Lang.Text(Id,  L_EXPORT_IS_NOT_SUPPORTED_FOR_THIS_ELEMENT ), false);
sGradeTitle = g_Lang.Text(CustomerID, nTitle, LanguageID);
Run Code Online (Sandbox Code Playgroud)

我想写regexpression接受第三行而不接受第一行和第二行:

.*g_Lang\.Text\(\s*[A-Za-z]*,\s*[here must be not L_].*
Run Code Online (Sandbox Code Playgroud)

这是我试过的,你能帮我纠正一下吗?

regex powershell

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

在json中转义javascript:hex的字符串

这个字符串

{\ x22Address\x22:\ x22个引号为\ x22\x22的地址}

在浏览器中正确解析JSON.parse.为什么?十六进制数字在json字符串中的含义是什么?我找不到解释.

javascript hex json

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

如何将 Azure 托管标识与 Azure.Storage.Blobs.BlobServiceClient 结合使用?

v11 SDK for .NET中,我能够使用托管身份令牌来访问 Azure blob:

var token = await new AzureServiceTokenProvider().GetAccessTokenAsync("https://storage.azure.com/");
var tokenCredential = new TokenCredential(token);
var storageCredentials = new StorageCredentials(tokenCredential);
var blob = new CloudBlobContainer(new Uri("https://some_storage.blob.core.windows.net/some_container"), storageCredentials);
Run Code Online (Sandbox Code Playgroud)

现在我想切换到v12 SDK,但不明白如何对BlobServiceClient.

c# azure azure-blob-storage

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

如何在枚举中使用两个相等的项来获得ToString()方法的正确结果

我有枚举

[Flags]
public enum MyEnum
{
   Item1 = 32768,
   Item2 = 65536,
   Item3 = 524288,
   Item4 = Item3
}
Run Code Online (Sandbox Code Playgroud)

ToString()操作的结果:

MyEnum.Item3.ToString() - "Item4"
MyEnum.Item4.ToString() - "Item4"
Run Code Online (Sandbox Code Playgroud)

有可能得到:

MyEnum.Item3.ToString() - "Item3"
MyEnum.Item4.ToString() - "Item4" 
Run Code Online (Sandbox Code Playgroud)

c# enums

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

使用 Parallel.ForEach 进行 Regex.Matches 的 NullReferenceException

我有代码:

public void FindMatches(string source)
{
   ...
   var matchCollections = new List<MatchCollection>();
   Parallel.ForEach(patterns,
      pattern =>
         {
            var regex = new Regex(pattern);
            MatchCollection matches = regex.Matches(source, 0);
            matchCollections.Add(matches);
         }
      );   
   foreach (MatchCollection matches in matchCollections)
   {
      if (matches.Count > 0) //NullReferenceException
      {
         foreach (Match match in matches)
         {
            ...
         }
      }
   } 
   ...
}
Run Code Online (Sandbox Code Playgroud)

有时我在第 15 行遇到 NullreferenceException。如果在插入“matchCollections”之前检查“matches”不为空,则仍然会抛出异常。什么问题?

c# parallel-processing parallel.foreach

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