小编Eli*_*eth的帖子

获取C#中某个DateTime的星期一和星期日

我有一个例如日期" 2010-11-09,星期二 "

现在我想得到星期一和星期日的日期时间,即上述日期.

你会怎么做?

c# date

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

Type.GetType不适用于泛型类?

Type t = Type.GetType("BLL.MyLayers.TestLayer,BLL");
Run Code Online (Sandbox Code Playgroud)

对于泛型类,t始终为null.

当我尝试获取普通类的类型时,t不为空.

为什么这样或我做错了什么?

c# reflection types

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

我的单位测试过多了吗?

我对我的单元测试方法有两个顾虑:

  1. 我在一种测试方法中测试过多吗?
  2. 我的测试方法名称如何反映所有测试期望?

我问自己,当我的方法名称说:ReturnInvalidModelState然后我的另外Asserts两个不正确.至少关于方法名称......

[Test]
public void Create_TemplateAlreadyExists_ReturnInvalidModelState()
{
    // ARRANGE
    TemplateViewModel templateViewModel = new TemplateViewModel { 
        Name = "MyTest" 
    };

    Mock<ITemplateDataProvider> mock1 = new Mock<ITemplateDataProvider>();
    Mock<IMappingEngine> mock2 = new Mock<IMappingEngine>();

    TemplateController controller = 
        new TemplateController(mock1.Object, mock2.Object);
    mock1.Setup(m => m.TemplateExists("MyTest")).Returns(true);
    // Set ModelState.IsValid to false
    controller.ModelState.AddModelError("Name", 
                                        "This name already exists.");

    // ACT
    ActionResult result = controller.Create(templateViewModel);

    // ASSERT
    Assert.IsFalse(controller.ModelState.IsValid);
    Assert.IsInstanceOfType(typeof(PartialViewResult), result);
    Assert.AreEqual(templateViewModel, ((PartialViewResult)result).Model);
}

[HttpPost]
public ActionResult Create(TemplateViewModel templateViewModel)
{
    if (ModelState.IsValid
        && !_templateDataProvider.TemplateExists(templateViewModel.Name))
    {

        Template …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc unit-testing

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

当调整其父div的大小时,使css三角形/箭头增长

这是我的css三角形.当父容器 - 具有高度百分比设置 - 被调整大小时,三角形也应该调整大小.

如何改变以下定义,这可能有用?

如果它不能与普通的CSS一起使用,我也对CSS3开放.

.segmentTriangle{
    width: 0px;
    height: 0px;
    position: relative;
    left: 0;
    top: 0;
    border-style: solid;
    border-width: 20px 20px 0 0;
    border-color: #000 transparent transparent transparent;
}
Run Code Online (Sandbox Code Playgroud)

UPDATE

这是我布局的一部分:

<div style="height: 100%;">
    <div style="float: left; height: 100%;" id="triangleWrapper">
        <div style="height: 100%;" class="segmentTriangle"></div>
    </div>
    <div class="fontsize" data-bind="text: replies, style: { height: heightFormatted, background: background }" style="width: 90%;padding-right:20px; height: 100%; text-align: right; float: left;"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

css css3

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

将参数传递给html partial并检索部分html中的值

如何将参数传递给html partial并在部分html中检索值?

@Html.Partial(MVC.Cans.Shared.Views.CanViewModels, Model, UserExists);
Run Code Online (Sandbox Code Playgroud)

UserExists的逻辑在部分内部我不想为此任务更改我的viewmodels.

你会如何解决这个问题?

asp.net-mvc razor

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

滚动和拉伸扩展器的内容

这就是我要的:

1.)当我单击我的Expander按钮并展开它时,它应该延伸到Grid的末尾

见样本图像=> 替代文字

2.)当我在Expander ScrollBars中的RichTextBox中写入更多文本而不是空格时,必须可见,我应该能够向下滚动.

将滚动查看器放在Expander内容周围并不难,但即使设置"自动"它们也永远不会出现也无济于事.将滚动查看器设置为"可见"我无法滚动,因为扩展器的内容无休止地下降.

这是我的示例代码:

<Grid Margin="30,0,0,0">
        <Grid.RowDefinitions>
            <RowDefinition Height="30" />
            <RowDefinition Height="*" />
            <RowDefinition Height="30" />
        </Grid.RowDefinitions>
        <StackPanel Background="LightCoral" Orientation="Horizontal">

            <TextBlock Grid.Column="0" Text="Incident type:" VerticalAlignment="Center" />
            <ComboBox  Grid.Column="1"  IsEditable="True" Margin="0,7" Text="{Binding SelectedIncidentReport.IncidentType,Mode=TwoWay}" />

            <TextBlock Grid.Column="0" Grid.Row="1" Text="Teachers name:" VerticalAlignment="Center" />
            <TextBox Grid.Column="1" Grid.Row="1" Height="25" Text="{Binding SelectedIncidentReport.TeacherName,Mode=TwoWay}" />

            <TextBlock Grid.Column="0" Grid.Row="2" Text="Tutor group:" VerticalAlignment="Center" />
            <TextBox Grid.Column="1" Grid.Row="2" Margin="0,7" Text="{Binding SelectedIncidentReport.TutorGroup,Mode=TwoWay}" />
        </StackPanel>

        <Grid Background="LightBlue" Grid.Row="1" >
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition …
Run Code Online (Sandbox Code Playgroud)

wpf scroll expander scrollviewer stretch

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

获得WPF扩展器头的高度

我需要获得WPF Expander.Header的高度,而不是整个Expander只是Header的高度.

没有属性可以获取它,因为Expander.Header + Expander.Content是Expander.Height.

你会怎么做才能获得Expander.Header高度?

wpf height header expander

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

使用事务的缺点配置实体框架集成测试

我正在寻找一种快速的方法来清理我的表数据与EF进行集成测试.

每个人似乎围绕其测试方法包装事务并在测试后处理事务.

这样,数据永远不会写入表中.

像插入的新自动ID这样的东西仍在工作,但我问自己,与.commit()交易相比,这种方法真的可靠.

使用这种方法有什么缺点似乎不是真正的集成测试,因为数据库永远不会被触及......

或者换句话说是否存在错误的情况,如果没有commit()使用事务而不作为异常弹出?

UPDATE

public abstract class IntegrationTestsBase
    {
        protected TransactionScope TransactionScope;

        public abstract void TestSetup();
        protected void InitTestSetupOnTable(string tableName)
        {
            TransactionScope = new TransactionScope();

            using (var context = new TGBContext())
            {
                var cmdCommand = string.Format("DBCC CHECKIDENT ({0}, RESEED, 1)", tableName);
                context.Database.ExecuteSqlCommand(cmdCommand);
                context.SaveChanges();
            }
        }

        [TestCleanup]
        public void TestCleanup()
        {
            TransactionScope.Dispose();
        }
    }

[TestClass]
public class MyTests : IntegrationTestsBase
{
        [TestInitialize]
        public override void TestSetup()
        {
            base.InitTestSetupOnTable("MyTableName");          
        }
}
Run Code Online (Sandbox Code Playgroud)

entity-framework transactions entity-framework-6.1

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

使用Entity Framework进行多对多插入的TransactionScope返回TimeoutException

为什么我会得到一个DbUpdateException - 没有进一步的细节 - 当我尝试将新学生插入现有的schoolclassCode时?

这是一对多关系.

var schoolclassCode = await context.SchoolclassCodes.SingleAsync(s => s.Id == pupil.SchoolclassCodeId);
schoolclassCode.Pupils.Add(pupil);
context.Entry(schoolclassCode).State = EntityState.Modified;
int count = await context.SaveChangesAsync();
Run Code Online (Sandbox Code Playgroud)

我是否必须首先在上下文中插入瞳孔.Pupils.add(瞳孔)?

我以为我可以插入瞳孔,并在一个实践中与学校代码相关联

schoolclassCode.Pupils.Add(pupil);
Run Code Online (Sandbox Code Playgroud)

然后将schoolclassCode设置为已修改.

如何在与现有主体/父实体的多对多关系中插入实体?

UPDATE

System.Data.Entity.Infrastructure.DbUpdateException was unhandled by user code
  HResult=-2146233087
  Message=An error occurred while updating the entries. See the inner exception for details.
  Source=mscorlib
  StackTrace:
       bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       bei System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
       bei TGB.Repository.PupilRepository.<AddPupil>d__8.MoveNext() in c:\Repository\TGB\TGB.Repository\PupilRepository.cs:Zeile 29.
    --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
       bei …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework entity-framework-6.1

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

来自身份服务器连接\令牌的令牌对我的API无效

我通过url connection/token通过POST请求从我的身份服务器4获取令牌:

然后我将access_token键的值复制/粘贴到我的API GET请求作为标题:

mytokenstring

eyJhbGciOiJSUzI1NiIsImtpZCI6IkYxMDhCODA2NUNFMTRBOEEwOTZBODUyMkIxQUNBMkFDMTdEQjQwNEEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiI4UWk0Qmx6aFNvb0phb1Vpc2F5aXJCZmJRRW8ifQ.eyJuYmYiOjE1MDg1OTU5MzIsImV4cCI6MTUwODU5OTUzMiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo2NTUzNSIsImF1ZCI6WyJodHRwOi8vbG9jYWxob3N0OjY1NTM1L3Jlc291cmNlcyIsInRlYWNoZXJzX3Rlc3RfcGxhbm5lciJdLCJjbGllbnRfaWQiOiJ0ZWFjaGVyc190ZXN0X3BsYW5uZXIiLCJzY29wZSI6WyJ0ZWFjaGVyc190ZXN0X3BsYW5uZXIiXX0.g2x31JcYrXyIavfxCu7UKY3kndznI_gYHJYCxl0dQn3u7l7vWo6qKr13XYMo6P1Lqtu68T2FEXL-5kyS0XwFClpdJE6m13-hfKZsd2QHBmOlgZ2ANwghXW4hfU5nWiwkUACwkP9wfDCULV3oQm5i49L5TQmUiiqcy0TTS2FDBdS5ymFBi1bCKnPh5ErsD8V_4eTqLzxv8CyVkPx2gPd6aBIf_2JNrjrMrrm69kghOHnktVG17KPQhppbIeJO8RP-URiJUJGXIY09yRGVF7YXtkFj-I5QOMvNIAWgUeqNYqH0cuQol9nglA4mtU1MfXtnRoEpRRzGViw7gxJ_-MFadA

授权:Bearer mytokenstring

什么可能导致身份服务器的令牌对我的API无效?

我在POSTMAN时遇到 401错误

查看红隼服务器的输出我得到:

Api> fail: Microsoft.AspNetCore.Server.IISIntegration.IISMiddleware[0]
Api>       'MS-ASPNETCORE-TOKEN' does not match the expected pairing token '52da49ee-6599-483a-b97a-15ced1603005', request rejected.
Run Code Online (Sandbox Code Playgroud)

我错了什么,配对标志Guid是什么?

API HttpGet:

标题:

授权持有人eyJh ......直到TheEndOfTheString

IdentityServer设置:

public void ConfigureServices(IServiceCollection services)
{
    string certificateFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "certifiateselfsigned.pfx");

    var certificate = new X509Certificate2(certificateFilePath, "test");

    services.AddIdentityServer()
    .AddSigningCredential(certificate)
        .AddInMemoryApiResources(InMemoryConfiguration.GetApiResources())
        .AddInMemoryClients(InMemoryConfiguration.GetClients())
        .AddTestUsers(InMemoryConfiguration.GetUsers());

    services.AddMvc();
}
Run Code Online (Sandbox Code Playgroud)

UPDATE

API

public void ConfigureServices(IServiceCollection services)
{
    services.AddAuthentication(options =>
    {
        options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;

        })
            .AddIdentityServerAuthentication(opt =>
           {
               opt.RequireHttpsMetadata = false;
               opt.Authority = …
Run Code Online (Sandbox Code Playgroud)

c# openid oauth-2.0 identityserver4

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