小编Inx*_*x51的帖子

使用Fluid-API for Entity Framework 7创建可选的外键

我正在尝试使用Entity Framework 7和Fluid-API创建可选的外键.在EF v6.x中,我们可以选择使用.WithOptional或添加它.HasOptional,但我无法在EF 7中找到任何等效的功能..任何想法?

Br,Inx

foreign-keys fluid optional entity-framework-core

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

在MVC中返回带有404状态代码的自定义404页面?

我正在尝试使用自定义错误页面返回404状态代码.但是我继续得到200,因为只要浏览器和服务器可以告诉页面确实存在.

到目前为止我一直在尝试的是:

<customErrors mode="On" defaultRedirect="~/404" >
    <error statusCode="404" redirect="~/404"/>
</customErrors>
Run Code Online (Sandbox Code Playgroud)

其中404是指向"未找到页面"控制器和操作的路径.

我也尝试在我的动作中设置状态代码..

public ActionResult PageNotFound(string locale)
{
    Response.StatusCode = 404;
    return View();
}
Run Code Online (Sandbox Code Playgroud)

但这最终只会显示默认的服务器错误页面(灰色的一个带有红色错误消息文本)

有关如何解决这个问题的任何想法?

c# asp.net-mvc custom-error-pages http-status-code-404

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

拦截OData“查询”

我想“拦截” /更改将OData与Web API一起使用时所生成的OData查询。但是我不确定如何“提取”所生成的查询。.我假设OData过滤器会展开并扩展更多有关如何生成某种表达式树或某种查询的信息..如果是这种情况,那就是我希望能够在将其作为SQL命令发送到数据库之前进行更改的查询类型。

我已经在网上搜索了某种提取生成的表达式树的方法..但是找不到足够的信息,所以我希望这里的人对整个OData-“框架”的工作原理有更多的了解。 ..

关于从哪里开始的任何想法?

.net c# odata asp.net-web-api

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

MongoDB 中的关系(使用 .Net)

mongoDB 中是否有使用 .Net 创建某种与“SQL-Join”等效的东西?我已阅读有关关系的 MongoDB 文档(https://docs.mongodb.com/manual/tutorial/model-referenced-one-to-many-relationships- Between-documents/ )..据我了解,您只需添加通过引用他们的 ID 来建立关系。然而..这是否也意味着对于每个关系,您还需要执行一个额外的查询?..

.net c# mongodb mongodb-query mongodb-.net-driver

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

如何使用 Swashbuckle 定义 OAS3 的链接?

我注意到在 Swagger UI v3 和 OAS3 中,我们现在支持称为“链接”的东西

但我真的不知道是否可以将这个功能与 Swashbuckle 一起使用,如果是……那么如何?一直在网上搜索,并没有找到任何关于这个的东西..

任何人都能够使用与 Swashbuckle 的链接?

swashbuckle asp.net-core openapi

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

将Unity DI与控制台应用程序配合使用

我试图让Unity与我的控制台应用程序一起工作,但是我尝试依赖注入的所有属性仍然设置为null.

这是我的代码:

Program.cs中

namespace .Presentation.Console
{
    class Program
    {
        static void Main(string[] args)
        {
            var mainThread = new MainThread();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

MainThread.cs

namespace xxxx.Presentation.Console
{
    public class MainThread
    {
        public IUnitOfWork UnitOfWork { get; set; }

        public IMapper Mapper { get; set; }

        public MainThread()
        {
            Mapper.RegisterMappings();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

App.config中

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration"/>
  </configSections>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" />
  </startup>
  <unity xmlns="http://schemas.microsoft.com/practices/2010/unity">
    <alias alias="IDataAccess" type="UnityFramework.IDataAccess, UnityFramework" />
    <namespace name="UnityFramework" />
    <assembly …
Run Code Online (Sandbox Code Playgroud)

c# console unity-container

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

JWT 和一次性令牌?

我正在滚动我自己的 JWT 令牌身份验证,但是,我真的希望它是一次性令牌——所以一旦使用它,服务器就会生成一个新令牌,客户端将不得不在此期间使用该令牌下一个请求/调用。

然而,据我所知,JWT 应该是“无状态的”——但是使用一次性令牌的方法,我想我需要以某种方式存储有效的令牌,因为一旦使用令牌就会刷新。或者有什么方法可以避免在服务器上存储值,并且仍然能够创建一次性令牌?

我不想存储任何值的两个主要原因首先是可扩展性(当然,我可以在中间设置缓存服务器来存储值,但如果不需要这样做会很好),其次,根据我的理解,JWT 应该是无状态的,如果我需要在服务器上存储一个值以验证令牌,就不会是无状态的。

有任何想法吗?

api rest one-time-password jwt asp.net-core

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

使用 WebApplicationFactory 对 .Net 6 进行 E2E 测试(最小 api)

我正在尝试让 E2E/UI 测试(selenium、playwright)与我的单元测试框架配合使用。

基本思想是使用 MSTest 和 WebApplicationFactory 在我的单元测试中启动“真实服务器”。这样做的原因是为了避免部署/发布我的应用程序进行测试(我想这可以通过使用容器等来完成,遗憾的是......我不允许使用容器)。我还认为这样做是一种模拟任何调用外部服务的代码的“巧妙”方式,并且能够为这些外部调用创建具有不同场景的多个测试。

我在网上搜索了一种执行此操作的方法,但我所能找到的只是有关如何在以前的 .Net 版本(2.1-5)中执行此操作的帖子,但自 .Net 6 以来,“启动仪式”代码已更改,并且现在的标准方法是使用最小的 API。

这是来自 Scott.H 的博客文章,他基本上正在做我计划做的事情,但是使用 .Net 2.1: https: //www.hanselman.com/blog/real-browser-integration-testing-with-selenium -独立-chrome-和-aspnet-core-21

到目前为止我所做的是创建一个继承自 WebApplicationFactory 的自定义类。

基本上:

class MyAppFactory : WebApplicationFactory<Program> {

}
Run Code Online (Sandbox Code Playgroud)

我可以完美地使用它来进行集成测试。然而..使用该类时初始化的服务器不接受http调用,所以我无法使用网络浏览器访问该服务器,selenium也不能。

我试图关注斯科特的博客文章。但由于某种原因:

protected override TestServer CreateServer(IWebHostBuilder builder)
Run Code Online (Sandbox Code Playgroud)

从未被调用过..(不确定这是否需要最少的 API 和 .Net 6 来完成)。

有没有人设法使用 WebApplicationFactory 和 .Net 6 Minimal API 在内存中启动接受 http 调用的“实际服务器”?

testing .net-6.0

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

获取占位符Sitecore中的组件数

我有一个组件需要知道当前添加到同一个占位符的组件数量,因为它需要根据占位符中的索引更新html属性的值.

无论如何要获得已经添加到占位符的组件数量,或者获取当前渲染器索引?

通常我会使用一个简单的for循环并设置属性,但因为它的占位符包含的组件不是一个选项.

提前致谢!

indexing components loops sitecore placeholder

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

如何在 EPiServer 10 中以编程方式“翻译”页面

我目前正在从代码创建一个新页面,用作我也从代码创建的站点定义的起始页......但是......即使我发布了新创建的起始页,我总是在 CMS UI 中得到以下消息:

“此内容是英文的。在 svenska 中不存在。您现在要翻译吗?”

如何以编程方式“翻译”页面,然后也发布它?我在这里或在谷歌搜索时找不到与此相关的任何内容。

c# asp.net episerver content-management-system

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

ValidationMessageFor customValidatioMessage参数,始终显示消息,不显眼

我试着向我们求助 Html.ValidationMessageFor(m=>m.MyProperty,"The field is very much required");

但是..我的使用不引人注意我的验证,但由于某种原因,似乎一旦我使用customValidationMessage参数,该属性的不引人注意的验证"中断".

或者用更简单的术语表示......无论是否输入值,都会始终显示验证消息.它根本不会更新/切换.

该属性也用于RadioButtonFor ..所以完整的"代码"是:

@Html.RadioButtonFor(m=>m.Myproperty,"Value 1")
@Html.RadioButtonFor(m=>m.Myproperty,"Value 2")
@Html.ValidationMessageFor(m=>m.MyProperty,"Please select ine of the options")
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

asp.net-mvc message customvalidator radiobuttonfor unobtrusive-validation

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

Sitecore 7.2和MVC 5,没有视图渲染

从我读到的内容,Sitecore 7.2对MVC(5)有原生支持,我刚安装了一个新版本的Sitecore 7.2,在同一台机器上我安装了ASP.net 4.5和MVC 3,4和5.SQL Server也在同一台机器上运行(SQL Server 2008 R2 SP1),但是一旦我尝试在sitecore中创建新的渲染,就没有选项可以使用"views/razor views".我只能选择使用.ascxxslt.

我错过了某种隐藏的配置吗?是否需要在同一台计算机上安装Visual Studio以支持MVC?

最好的问候,Inx

asp.net-mvc sitecore sitecore7 asp.net-mvc-5 sitecore7.2

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

将 IQueryables 的“列表”应用到目标?

我有这个想法来创建一个执行不同类型操作的 IQueryables 的“列表”。

所以基本上:

var query1 = Enumerable.Empty<Person>().AsQueryable().Where(e => e.Name == "Ronald");
var query2 = Enumerable.Empty<Person>().AsQueryable().Where(e => e.Age == 43);
var query3 = Enumerable.Empty<Person>().AsQueryable().Select(e => e.EyeColor);

var listOfQueries = new List<IQueryable<Person>
{
    query1,
    query2,
    query3
};
Run Code Online (Sandbox Code Playgroud)

现在,我也有这个充满“Persons”的 DbSet,我想“应用”针对该 DbSet 的所有查询。我该怎么做呢?有可能吗?

更新的示例:

        var personQueryFactory = new PersonQueryFactory();
        var personQueryByFirstname = personQueryFactory.CreateQueryByFirstname("Ronald");           //Query by Firstname.
        var personQueryByAge = personQueryFactory.CreateQueryByAge(42);                             //Query by age.
        var personQueryByHasChildWithAgeOver = personQueryFactory.CreateQueryByChildAgeOver(25);    //Query using a "join" to the child-relationship.
        var personQuerySkip = personQueryFactory.Take(5);                                           //Only get the 5 first …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework iqueryable

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