小编Sub*_*ive的帖子

实体框架ToListAsync()与Select()

我的控制器中有以下ActionResult

public async Task<ActionResult> NewTickets()
{
    // Show tickets for all divisions a agent is in

    var user = "abcdefg";
    var company = "company1";

    var tickets = (from a in db2.Ticket
        join c in db2.Division on a.DivisionId equals c.DivisionId
        join dp in db2.DivisionParticipator on c.DivisionId equals dp.DivisionId
        where c.CompanyId == company.CompanyId && a.Status == "New" && dp.ApplicationUserId == user.Id
        select new
        {
            Id = a.Id,
            DivisionId = a.DivisionId,
            Name = a.Name,
            TicketDate = a.TicketDate,
            NewPosts = a.NewPosts,
            Status = a.Status, …
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net-mvc entity-framework

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

获取在ASP.NET Core 2.0中具有特定角色的所有用户

我刚开始将应用程序从ASP.NET MVC 5移植到ASP.NET Core 2.0(使用EF Core和Identity).一切顺利,但我遇到了一个我似乎无法找到答案的问题.

我想要做的只是根据分配的角色(管理员,用户等)获取数据库中的所有用户.

这在我刚刚使用的MVC 5中很简单:

_db.UserCompany.Where(x => x.User.Roles.Any(s => s.RoleId == adminRole.Id)
Run Code Online (Sandbox Code Playgroud)

但是,使用.NET Core/Entity Framework Core,我似乎无法再浏览用户 - >角色.

所以我的问题是,如果Identity/EF Core中已经实现了实现我想要的方式吗?或者是否有必要实施自定义解决方案?

提前致谢!

asp.net asp.net-mvc entity-framework asp.net-core

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

适用于ASP.NET Core 2的MultipartFormDataStreamProvider

我正在将项目从ASP.NET MVC 5迁移到ASP.NET Core 2,并遇到了一些与之相关的问题 MultipartFormDataStreamProvider

据我所知,它还不是.NET Core的一部分,因此无法使用.我试图解决的问题是使用Sendgrid,解析电子邮件的代码的一部分.

.NET MVC 5代码如下所示

[HttpPost]
public async Task<HttpResponseMessage> Post()
{
   var root = HttpContext.Current.Server.MapPath("~/App_Data");
   var provider = new MultipartFormDataStreamProvider(root);
   await Request.Content.ReadAsMultipartAsync(provider);

   var email = new Email
   {
      Dkim = provider.FormData.GetValues("dkim").FirstOrDefault(),
      To = provider.FormData.GetValues("to").FirstOrDefault(),
      Html = provider.FormData.GetValues("html").FirstOrDefault()
   }
}
Run Code Online (Sandbox Code Playgroud)

此代码是从Sendgrid API文档中获取的代码段:https://sendgrid.com/docs/Integrate/Code_Examples/Webhook_Examples/csharp.html

所以我一直在摆弄这个问题,试图想出一个解决方案,但我完全陷入困境.我最接近解决方案的是使用Request.Form例如

To = form["to"].SingleOrDefault(),
From = form["from"].SingleOrDefault()
Run Code Online (Sandbox Code Playgroud)

但是,这仅适用于通过ARC(或任何其他REST-API测试程序)的ARC REST客户端插件发送数据.此解决方案也将无法处理诸如图像之类的附件.

所以我转向StackOverflow社区,希望有人有一些指针或解决方案,如何将其迁移到.NET Core 2.

提前致谢!

asp.net sendgrid asp.net-web-api .net-core asp.net-core

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

SendGrid 入站解析北欧字符

完全陷入与 SendGrid 提供的入站解析 Webhook 功能相关的问题:https ://sendgrid.com/docs/for-developers/parsing-email/setting-up-the-inbound-parse-webhook/

\n\n

首先,检索发送到我的应用程序端点的邮件一切正常。使用Request.Form我能够检索数据并使用它。

\n\n

问题是,我们在收到一些邮件时开始注意到问号符号而不是字母(使用 \xc3\x85 \xc3\x84 和 \xc3\x96 用瑞典语编写)。发送纯文本邮件和带有 HTML 正文的邮件时都会发生这种情况。

\n\n

然而,这种情况只是偶尔发生。经过大量搜索后,我发现如果邮件是从邮箱或 Outlook(或类似的)发送的,并且应用程序的字符集设置为 iso-8859-1,那么 \xc3\x85 \xc3\ x84 \xc3\x96 被问号替换。

\n\n

为了复制错误并能够对其进行调试,我设置了一个 HTML 页面,其中包含使用 iso-8859-1 编码的表单,发送与上面链接中看到的类似的有效负载(默认负载)。之后,我们进行了大量的测试,试图让它发挥作用。

\n\n

截至目前,我正在尝试重新编码输入,但没有成功。我正在测试的代码:

\n\n
        Encoding wind1252 = Encoding.GetEncoding(1252);\n        Encoding utf8 = Encoding.UTF8;\n        byte[] wind1252Bytes = wind1252.GetBytes(Request.Form.["html"]);\n        byte[] utf8Bytes = Encoding.Convert(wind1252, utf8,wind1252Bytes);\n        string utf8String = Encoding.UTF8.GetString(utf8Bytes);\n
Run Code Online (Sandbox Code Playgroud)\n\n

这只会导致utf8String产生与“???”相同的结果。其中 \xc3\x85 \xc3\x84 \xc3\x96 应该是。我的猜测是,这可能是由于 Request.Form["html"] 返回一个 UTF-16 字符串,该字符串的内容已经以错误的编码 iso-8859-1 进行编码。

\n\n

获取POST的方法如下

\n\n
public async Task<InboundParseModel> FetchMail(IFormCollection …
Run Code Online (Sandbox Code Playgroud)

c# asp.net webhooks sendgrid

5
推荐指数
0
解决办法
823
查看次数

ASP.NET Core 2.1基于DB中的数据在布局中插入CSS

我有一个问题,我正在努力.一些背景:用户可以在我的应用程序中选择要使用的应用程序的颜色方案,此选项存储在数据库中.

我想要做的是基于这个选择,在页面加载时,提供CSS文件以供用户选择.

我一直在尝试做的是通过在_Layout.cshtml页面中执行AJAX请求来检查用户选择,并将相应的CSS附加到标头.这是有效但不是很好,因为有一些延迟,它只是不是一个好的解决方案,因为有时在加载CSS后元素的样式不正确.

我想做的是检查服务器端,就像控制器中的普通视图一样(布局页面缺少控制器,因为你知道这就是我被困住的地方).然后在_Layout视图中添加正确的CSS.

亲爱的堆栈溢出,你对我有什么建议可以实现吗?我的用户需要甜蜜的黑暗主题.;)

提前致谢!

css asp.net-core

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

C# SyndicationFeed - RSS 解析日期问题

我正在使用SyndicationFeed从不同的 RSS 源检索一些数据。但是,我在尝试阅读 RSS 时遇到了一个问题,就我所见,该 RSS 与有效的元素和数据具有相同的元素和数据。

SyndicationFeed feed = SyndicationFeed.Load(XmlReader.Create("http://rsslink"));
Run Code Online (Sandbox Code Playgroud)

例如,这个 RSS 工作得很好并且被接受没有错误:http : //kjellochklortanten.libsyn.com/rss

虽然这个 RSS:http : //feeds.feedburner.com/tedtalks_audio导致SyndicationFeed抛出错误(这是从瑞典语翻译过来的):

解析 XML 中的 DateTime 值时出错

我查看了两个提要中的日期,据我所知,它们是相同的。

任何 C#-ninja 都知道可能导致此错误的原因?

提前致谢!

c# xml asp.net datetime parsing

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