小编Geo*_*mes的帖子

使用nameof()将常量声明为常量作为值

脚本

我有一个类来声明string程序周围使用的常量:

public static class StringConstants
{
    public const string ConstantA = "ConstantA";
    public const string ConstantB = "ConstantB";
    // ...
}
Run Code Online (Sandbox Code Playgroud)

从本质上讲,常量的实际值与分配和消耗时使用的无关.它只是用于检查.

常量名称将是相当不言自明的,但我想尝试避免多次使用相同的字符串值.


我想做什么

我知道这nameof()是在编译时进行评估的,因此完全可以将const string's值赋给nameof()成员.

为了节省写出这些魔术字符串,我考虑过使用nameof()常量本身.

像这样:

public static class StringConstants
{
    public const string ConstantA = nameof(ConstantA);
    public const string ConstantB = nameof(ConstantB);
    // ...
}
Run Code Online (Sandbox Code Playgroud)

题...

我想nameof()除了重构之外,使用它没有什么好处?

nameof()分配常量时是否有任何影响?

我应该坚持使用硬编码的字符串吗?

c# constants nameof

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

User.Identity.Name返回guid

对于某些(模糊)原因,我的MVC 4应用程序在运行时返回一个guid:

var name = User.Identity.Name;
Run Code Online (Sandbox Code Playgroud)

我也在一个全新的MVC 4应用程序中对此进行了测试,这对我来说是新的行为.当我查阅有关IIdentity的文档时,它表明(我记得)Identity.Name应该

获取当前用户的名称.

为什么它会在我的情况下返回一个guid?

来自web.config

<authentication mode="Forms">
    <forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
Run Code Online (Sandbox Code Playgroud)

更多相关信息: 该应用程序也部署在另一台计算机上,与同一数据库通信.我们在该数据库中使用"User.Identity.Name"的值,当用户(新用户)不在那里时,我们添加一个具有该guid的新用户.

现在,奇怪的是:当您切换应用程序时(从localhost到部署在T上的应用程序),您需要再次登录.然后将User.Identity.Name设置为新的guid.

(使用启动器默认应用程序,我们当然不会与DB通信,但同样的事情发生; User.Identity.Name返回一个guid)

.net c# asp.net-mvc asp.net-mvc-4

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

AWS Aurora服务器有时会响应"未知数据库:..."

我有一个.NET应用程序,它在Amazon Aurora RDS中的MySQL数据库上执行查询.该数据库是MySQL 5.6数据库 - Aurora附带的版本.

我对数据库中的模式(名称:flight)执行查询(名称:SSIMLoader).我正在使用MySQL 6.9.8.0库.

edit:连接字符串指向群集中的主服务器,而不是指向特定服务器.

执行插入,选择和更新时会发生错误,因此没有真正的模式.即使简单的select语句也会随机失败

但是,通过MySQL工作台执行查询时,我们没有收到此类错误.

重新启动服务器后,错误消失了几天然后返回.

我们有一些非常激烈的查询,可以在长时间内将CPU提高到90%,但即使在CPU降低到10%之后,错误仍然存​​在.

有没有其他人经历过这个,如果有的话,你是怎么过去的?

提前致谢.

  • 编辑: 最后再次出错:

    MySql.Data.MySqlClient.MySqlException(0x80004005):在MySql.Data.MySqlClient.MySqlConnection的MySql.Data.MySqlClient.NativeDriver.ReadOk(布尔读取)的MySql.Data.MySqlClient.MySqlStream.ReadPacket()中的未知数据库'flight'位于Universal.Access.Database.BaseDatabaseConnection的Universal.Access.Database.BaseDatabaseConnection.EstablishFactoryConnection()的MySql.Data.MySqlClient.MySqlConnection.Open()的MySql.Data.MySqlClient.MySqlConnection.Open()处的.ChangeDatabase(String databaseName)位于C:\ tc-projects\universal-platform\Universal.Core\DataModel\ExecutableDatabaseConnection.cs:第65行的Universal.Core.DataModel.ExecutableDatabaseConnection.ExecuteQuery(String sqlQuery)中的.ExecuteReader(CommandType commandType,CommandText commandText).

这是正在运行的查询:

UP-DEV | Universal.Core.Data.Importer Error finding current record, SQL: SELECT aircraft_config,updated_by,asa_flight_id,atd_utc,bay,terminal,is_cancelled,flight_number,created_at,from_iata,flight_date_utc,std_local,takeoff_time_local,is_international,is_aerocare,cobt_local,customer_atd_local,takeoff_time_utc,std_utc,atd_local,asa_state,aircraft_type,customer_atd_utc,carrier_code,updated_at,gate,service_type,etd_local,cobt_utc,flight_status,etd_utc,aircraft_rego,created_by,id,flight_date,to_iata FROM flight.departure_flight WHERE carrier_code='JQ' AND flight_date_utc='2017-01-20T00:00:00' AND flight_number='57' AND from_iata='MEL'. Database returned: Unknown database 'flight'

.net c# mysql amazon-web-services amazon-aurora

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

无需在 Angular 7 中注入即可创建单例服务

情况

我一直在尝试找到一种方法,我可以实例化一个纯粹位于“后台”并侦听事件(并做一些事情)的服务——我希望在应用程序初始化时创建它,然后被遗忘.

不幸的是,我需要在组件中使用依赖项注入,以便实例化服务 - 我采用的大多数路径都导致使用AppComponent的构造函数。

我不会直接与服务交互(调用方法/属性),并希望将它与其他没有直接关系的组件/服务分开。


服务

服务和其中的逻辑非常简单。我的服务基于Angular 2教程中的动态页面标题

该服务将侦听NavigationEnd来自 的事件Router,抓取ActivatedRoute,然后使用路由的数据来设置页面标题。

与教程中的示例不同,我创建了自己的服务,而不是将逻辑放在AppComponent; 我想让我的关注点分离处于最佳状态。

页面标题.service.ts:

import { Injectable } from '@angular/core';
import { Router, NavigationEnd, ActivatedRoute } from '@angular/router';
import { Title } from '@angular/platform-browser';
import { filter, map, mergeMap } from 'rxjs/operators';

@Injectable()
export class PageTitleService {

  constructor(
    router: Router,
    activatedRoute: ActivatedRoute,
    titleService: Title
  ) {
    router.events
      .pipe(
        filter((event) => event instanceof NavigationEnd),
        map(() => activatedRoute), …
Run Code Online (Sandbox Code Playgroud)

service singleton angular

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

从View创建List <T>并使用表单POST到MVC控制器

背景
我正在研究客户的网站项目,我使用MVC来创建网站.我有EF使用SQLDB来存储数据.

我的WebApp配备了一个后台区域,用于管理/添加/更新Item等.

有问题的特定页面允许用户Item通过输入数据并单击表单上的"保存"来向数据库添加新内容.

Item具有一定的特性,这都得到一个新行加入DB很好.

Item还包含一个List<Appointment>声明它的s(我将序列化这些并将它们保存在适当的列中).

对象看起来像这样(为简洁起见,我删除了一些属性):

public class Item
{
    public int Id { get; set; }
    public string Name { get; set; }
    public List<Appointment> Appointments { get; set; }
    // Plus some other properties
}

public class Appointment
{
    public string Day { get; set; }
    public string From { get; set; }
    public string To { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我已经设置了一个ViewModel,我正在练习所有通常的好习惯.它看起来像这样:

public class AddItemViewModel
{
    [Required(ErrorMessage = …
Run Code Online (Sandbox Code Playgroud)

javascript c# asp.net-mvc viewmodel

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

如何使div高度相同?

我有一个父div,其中包含三个divs,我想让它们高度相同,但它不起作用.第一个和第三个div包含每个图像.第二个div包含三个divs内容.

这是HTML:

<div class="container">
    <div class="column1">
        <img src="http://placehold.it/300x318">
    </div>

    <div class="column2">
        <div class="row1">
            <div class="text">UNIKE GUSTAVIANSKE STILMØBLER.</div>
            <div class="text">VI SELGER HÅNDVERK ETTER 1700-</div>
            <div class="text">OG 1800-TALLS TRADISJONER.</div>
        </div>
        <div class="row2"></div> 
        <div class="row3">
            <div class="text">
                Åpningstider:<br>
                Man - Fre 11 -17     Lør 11- 15
            </div>
        </div> 
    </div>

    <div class="column3">
        <img src="http://placehold.it/300x318">
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

.container具有的CSS规则display:flex;.当我还应用此.column1,.column2并且.column3,布局休息.

我试图实现图像高度增加和减少依赖.column2.不幸的是,我无法更改HTML或使用JS.

在这里你可以看到一个JS-Fiddle.我已经注释掉了CSS规则.

非常感谢您的帮助!

html css css3

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

XAML TextBlock TextAlignment 与 Horizo​​ntalAlignment

考虑以下 XAML:

<Grid>
    <TextBlock Text="Some Text" TextAlignment="Right" />
    <TextBlock Text="Some Text" HorizontalAlignment="Right" />
</Grid>
Run Code Online (Sandbox Code Playgroud)

只要两个TextBlocks 设置为相同的Grid.RowGrid.Column,它们将始终出现在相同的位置 - 一个在另一个之上。

类似的概念,这里 - 两个 s 中的两行文本StackPanel完全对齐:

<Grid>
    <StackPanel>
        <TextBlock Text="Line One" HorizontalAlignment="Right" />
        <TextBlock Text="Line Two" TextAlignment="Right" />
    </StackPanel>
    <StackPanel>
        <TextBlock Text="Line One" HorizontalAlignment="Right" />
        <TextBlock Text="Line Two" TextAlignment="Right" />
    </StackPanel>
</Grid>
Run Code Online (Sandbox Code Playgroud)

等等...


就在父级右侧显示文本而言,TextAlignmentHorizontalAlignment属性都在做同样的事情 - 从我所看到的。

TextAlignment有人能告诉我 s和sHorizontalAlignment之间的实际区别是什么吗TextBlock

两者有优先选择吗?

使用这两者有什么影响吗?

xaml textblock alignment text-alignment

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

错误:功能未正确部署

功能部署有错误。要继续部署其他功能(例如数据库),请运行:

firebase deploy --except functions
Run Code Online (Sandbox Code Playgroud)

错误:

功能未正确部署。

firebase google-cloud-functions

5
推荐指数
7
解决办法
3914
查看次数

打开时详细信息元素的 CSS 选择器

是否有一个 CSS 选择器(如伪类)可以在details元素打开时定位该元素?

一种可能的用途是summary在用户打开元素时更改元素的颜色details

html css css-selectors

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

如何检索JsonResult数据

我在布局Controller中有以下Action

public JsonResult getlayouts(int lid)
{
    List<layouts> L = new List<layouts>();
    L = db.LAYOUTS.Where(d => d.seating_plane_id == lid).ToList()

    return new JsonResult { Data = L, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
Run Code Online (Sandbox Code Playgroud)

我从另一个控制器调用此Action,如下所示:

layoutsController L = new layoutsController();
JsonResult result = L.getlayouts(lid);
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何从结果对象中获取数据?

c# asp.net-mvc

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

c#UWP自动滚动文本

我正在构建一个覆盆子Pi(Windows IoT)的应用程序,它接受UDP消息并在屏幕上显示它们.

我需要一种方法让文本自动水平滚动屏幕.我无法让用户点击按钮,因为没有连接到Pi的输入设备.
到目前为止,我一直在玩一个滚动查看器并手动调整它的Horizo​​ntalAlignment值,但没有用(我对整个UWP/XAML的东西都是新手).

任何人都可以向我展示一些代码,这些代码可以使文本块中的文本自动从右向左滚动(文本在数字显示器上滚动的方式),不会中断应用程序中运行的任何其他代码(接收udp消息和勾选计时器)?

提前谢谢了.

c# xaml uwp uwp-xaml

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

保存到现有文本文件c#的结尾

我编写了以下代码,因为我想以列表的形式将字符串保存到文本文件的末尾.

但是,在我尝试保存某些内容时,它会删除文件中的所有先前文本,并添加最新文本.以下是我的代码:

using (var writer = new StreamWriter(@"C:\Users\Falconex\Documents\Visual Studio 2015\Projects\Test2\Test2\bin\Debug\Product.txt"))
{
    writer.WriteLine(productTextBox.Text + Environment.NewLine);
    writer.Close();
}
Run Code Online (Sandbox Code Playgroud)

先谢谢你,露西

c# save streamwriter

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

Cast vs Serialize/Deserialize C#

Scenario

I have a virtual method in a base class, which takes an object as a parameter.

I override this in derived classes - more specifically, view models - in order to work with the different objects from there, also:

public override void SomeMethod(object parameter)
{
    // ...

    base.SomeMethod(parameter);
}
Run Code Online (Sandbox Code Playgroud)

EDIT: Just to clarify - I am unable to change the SomeMethod signature in the base class - unfortunately, I'm stuck with object as the type :(

Let's say that …

c# serialization casting deserialization

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