小编sup*_*y71的帖子

删除由 IIS ApplicationPoolIdentity 创建的 Windows 用户?

我在 Windows 10 中启动到我的用户配置文件时遇到问题,并且能够通过在此注册表项中将我的用户配置文件的 RefCount 设置为 0 来解决此问题:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-xxx

我有几个 ASP.NET MVC 和 ASP.NET Core 网站托管在 IIS(版本 10 而不是 IIS Express)中,我意识到在C:\Users这些网站中已经为它们创建了关联的 Windows 用户。

如果我错了,请纠正我我相信这些“Windows 用户”是ApplicationPoolIdentity在每个网站创建时创建的。

问题是这些“Windows 用户”也将注册表 RefCount 设置为 0,所以我认为这就是我无法启动到我的配置文件的原因。

现在我想删除这些“Windows 用户”,但是当我删除这些“Windows 用户”中的网站和应用程序池时inetmgrC:\Users.

问题是如何以正确的方式删除它们?

提前致谢。

asp.net iis asp.net-mvc applicationpoolidentity windows-10

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

使用 Sqlite.NET 的实体框架抱怨不支持 APPLY 连接

我在使用 Sqlite.NET 和 Entity Framework 执行以下 join 语句时遇到问题。

我的设置是:

.NET Framework v4 Entity Framework v6.0.0.0 SQLite.EF6 v1.0.99.0 SQLite.Linq v1.0.99.0

using (var me = new ChinookContext())
{
    var screenset =
        from track in me.Tracks
        join genre in me.Genres on track.GenreId equals genre.GenreId
        join artist in me.Artists on track.Album.ArtistId equals artist.ArtistId
        into artists
        from artist in artists.DefaultIfEmpty()
        select new TrackDTO
        {
            TrackId = track.TrackId,
            TrackName = track.Name,
            GenreId = genre.GenreId,
            GenreName = genre.Name,
            ArtistId = artist.ArtistId,
            ArtistName = artist.Name
        };
        foreach (var …
Run Code Online (Sandbox Code Playgroud)

c# linq sqlite entity-framework

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

ASP.NET MVC 控制器无法使用流内容正确返回 HttpResponseMessage

正如标题所示,我没有让 MVC 控制器正确返回 HttpResponseMessage。

    [HttpGet]
    [AllowAnonymous]
    public HttpResponseMessage GetDataAsJsonStream()
    {
        object returnObj = new
        {
            Name = "Alice",
            Age = 23,
            Pets = new List<string> { "Fido", "Polly", "Spot" }
        };

        var response = Request.CreateResponse(HttpStatusCode.OK);
        var stream = new MemoryStream().SerializeJson(returnObj);
        stream.Position = 0;
        response.Content = new StreamContent(stream);
        response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");

        return response;
    }
Run Code Online (Sandbox Code Playgroud)

这是我使用 MVC 控制器得到的结果:

结果不正确

使用 WebApi ApiController 时工作正常

正确结果

如果我错了,请纠正我,我认为问题是 MVC 正在序列化 HttpResponseMessage 而不是返回它。

顺便说一句,我正在使用 MVC 5。

提前致谢。

编辑 我希望在返回大型数据集时能够灵活地直接写入响应流。

asp.net-mvc json.net asp.net-web-api

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

在 VS2017 社区中右键单击变量时缺少“添加监视”上下文菜单

正如标题所说,调试时在 VS2017 社区中右键单击变量时,没有“添加监视”上下文菜单。

请看截图。

截屏

任何帮助表示赞赏。提前致谢。

编辑: 我已经更新了屏幕截图,它处于调试模式

c# visual-studio-community visual-studio-2017

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

Linq Select投影无法应用于单个记录

我正在尝试从字符串数组返回年份,如果它包含任何匹配的年份.

GetYear()扩展方法如下:

public static int GetYear(this string me)
{
  for (int i = 1971; i <= DateTime.Now.Year; i++)
  {
    if (me.Equals(i.ToString()))
    {
      return i;
    }
  }
  return -1;
}
Run Code Online (Sandbox Code Playgroud)

这有效

string[] splitString = me.Split(' ');
var year = splitString.Select(x => x.GetYear()).FirstOrDefault(x => x > 0);
Run Code Online (Sandbox Code Playgroud)

但事实并非如此

string[] splitString = me.Split(' ');
var year = splitString.FirstOrDefault(x => x.GetYear() > 0).Select(x => x.GetYear());
Run Code Online (Sandbox Code Playgroud)

我想知道为什么它不起作用,因为Select <>()应该是投影权?

提前致谢.

c# linq

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