小编dst*_*str的帖子

更改实体可访问性

我想在内部建立一个实体.我已将实体,其标量属性和导航属性更改为内部.我尝试构建它时遇到此错误:

错误6036:EntityType"文件"具有"内部"可访问性,而EntitySet"文件"具有"公共"可访问性的get属性.EntitySet的get属性的访问权限不得低于包含EntityType访问权限的访问权限.

我无法编辑designer.cs,因为它没有生成此错误.我检查了edmx文件,但没有任何公共值与"文件"或"文件"相关联.我该怎么办?

.net entity-framework

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

如何记录ASP.NET Core输入JSON序列化错误

我们有ASP.NET Core应用程序用作REST api。方法[FromBody]MyClass param用作输入。问题是,如果客户端发送无效的JSON字符串,input则由于JSON序列化错误,该值将变为null。有没有办法记录这种错误?

编辑:我正在寻找不是按方法的应用程序范围的解决方案。

rest json.net asp.net-core-mvc asp.net-core

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

如何将root密码更改为空密码?

如何在MySql中将root密码更改为空密码?

以下是"Access denied for user 'root'@'localhost' (using password: YES)"错误.我确定我输入的密码是正确的(仅限于此123456)

mysqladmin -u root -p'123456' password ''
Run Code Online (Sandbox Code Playgroud)

我已成功运行此sql,但我仍然可以使用我的密码访问,123456而不是使用空密码:

use mysql; update user set password=PASSWORD("") where User='root';
Run Code Online (Sandbox Code Playgroud)

mysql mysql-error-1045

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

IdentityServer4 IsValidReturnUrl对于有效的URL返回false

我有一个使用此客户端配置的测试项目:

public class Clients : IClientStore
    {
        public Task<Client> FindClientByIdAsync(string clientId)
        {
            return Task.FromResult(new Client
            {
                ClientId = "client.webforms",
                ClientName = "WebForms Client",
                AllowedGrantTypes = GrantTypes.Hybrid,
                AllowAccessTokensViaBrowser = false,

                ClientSecrets =
                    {
                        new Secret("1234".Sha256())
                    },

                RedirectUris = { "http://localhost:9869/signin-oidc" },
                PostLogoutRedirectUris = { "http://localhost:9869/" },

                AllowedScopes =
                    {
                        IdentityServerConstants.StandardScopes.OpenId,
                        CstIdSrvScopeTypes.TestWebForms
                    },
                AllowOfflineAccess = false,
                RequireConsent = false,

                AlwaysIncludeUserClaimsInIdToken = true
            });
        }
    }
Run Code Online (Sandbox Code Playgroud)

当我尝试在LoginController中验证它时,我得到了false结果(这是从即时窗口中获得的:

returnUrl
"http://localhost:9869/signin-oidc"
this.identityServer.IsValidReturnUrl(returnUrl)
false
Run Code Online (Sandbox Code Playgroud)

此外this.identityServer.GetAuthorizationContextAsync(returnUrl)结果null。难道我做错了什么?

identityserver4

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

TransactionScope超时是否过早发生?

我正在使用TransactionScope一些批量插入和更新.问题是,即使我将超时设置TransactionScope为一小时,我也会在30分钟的长时间操作中遇到超时异常.

同样在异常之后,它会插入看似随机数量的批次记录.例如,最后一个操作有12440个插入,超时后,表中插入了7673条记录.

的超时SqlConnectionSqlCommand均设置为int.MaxValue.

我究竟做错了什么?

这是我的代码:

using (TransactionScope transaction = new TransactionScope(TransactionScopeOption.Required, TimeSpan.FromHours(1)))
 {
         try
         {
                using (db = new DB())
                {
                //operations here
                }
         }
         catch (Exception ex)
         {
               throw new Exception("DB Error:\r\n\r\n" + ex.Message);
         }

         transaction.Complete();
} // <--- Exception here: Transaction aborted (Inner exception: Timeout)
Run Code Online (Sandbox Code Playgroud)

.net c# transactions transactionscope

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

XML文档文件不包含在发布文件夹中

Xml documentation file在我的ASP.NET Core MVC应用程序中选择了" ",它显示" bin\Debug\net452\MyProject.xml"作为输出文件夹.问题是该文件在发布文件夹中不存在.我需要额外添加它吗?使用.NET Core 1.0-RC4和VS.NET 2017 RC4(新的csproject格式).

asp.net-core-mvc asp.net-core visual-studio-2017

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

如何让执行等待forkJoin结果

如何让以下代码等待forkJoin执行以便我可以返回结果bulkRequest

  constructor(private http: Http) {
    let results = this.bulkRequest(this.get("https://jsonplaceholder.typicode.com/posts/1"),
      this.get("https://jsonplaceholder.typicode.com/posts/1"),
      this.get("https://jsonplaceholder.typicode.com/posts/1"));

    console.log("results");
  }

  get(url: string): Observable<any> {
    return this.http.get(url).map(response => response.json());
  }

  bulkRequest(...sources: SubscribableOrPromise<any>[]): any[] {
    let results: any[];

    Observable.forkJoin(
        sources
    ).subscribe(response => {
        console.log("responses");
        results = response;
    }, error => {
      console.log("error: " + error.toString());
    },
    () => {
      console.log("finally");
    });

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

目前我得到以下控制台输出,results变量是undefined

results
responses
finally
Run Code Online (Sandbox Code Playgroud)

可观察的确实会执行,如果我console.log("results")在行上放置一个断点,我会看到它们全部三个,如Pending“网络”选项卡中所示。

Plnkr:http://plnkr.co/edit/2wb72kw7S3wYUUwwwi8h ?p=preview

rxjs typescript angular

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

像Expression Tree中的运算符一样

我有一个Linq扩展方法来使用字符串值动态过滤Linq查询.例如:query.WhereHelper("columName", ">", 1).我可以使用许多不同的过滤器运算符,如GreaterThan或NotEqual等,但不能使用"Like".没有Expression.Like或Expression.StartsWith等.如何在Expression树中实现Like运算符?这是我的代码:

public static IQueryable<T> WhereHelper<T>(this IQueryable<T> source, string columnName, object value, string filterType)
{
    ParameterExpression table = Expression.Parameter(typeof(T), "");
    Expression column = Expression.PropertyOrField(table, columnName);
    Expression valueExpression = Expression.Convert(Expression.Constant(value), column.Type);
    Expression where = null;

    switch (filterType)
    {
        case "<":
            where = Expression.LessThan(column, valueExpression);
            break;
        case "<=":
            where = Expression.LessThanOrEqual(column, valueExpression);
            break;
        case "=":
            where = Expression.Equal(column, valueExpression);
            break;
        case ">":
            where = Expression.GreaterThan(column, valueExpression;
            break;
        case ">=":
            where = Expression.GreaterThanOrEqual(column, valueExpression);
            break;
        case "<>":
            where = Expression.NotEqual(column, …
Run Code Online (Sandbox Code Playgroud)

.net linq lambda entity-framework expression-trees

6
推荐指数
2
解决办法
3058
查看次数

具有公共字段的不同类之间的IEnumerable.Except()

是否可以使用Except()两个具有两个不同类但是共同字段的Lis​​t?我有List<User1>List<User2>收藏品.它们具有除Id列以外的不同属性,我想使用此Id列找到它们之间的不同记录.我正在尝试使用,List<>.Except()但我收到此错误:

无法从用法推断出方法'System.Linq.Enumerable.Except(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable)'的类型参数.尝试显式指定类型参数.

这是我正在尝试的:

List<User1> list1 = List1();
List<User2> list2 = List2();
var listdiff = list1.Except(list2.Select(row => row.Id));
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

c# linq ienumerable .net-3.5

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

无法解析/使用System.ServiceModel.Security.WSTrustServiceContract作为服务名称

我有一个令牌发行者WCF​​服务,它使用Microsoft.IdentityModel(WIF 3.5),我需要升级到System.IdentityModel(.NET 4.5).问题是我无法更改服务的原始名称Microsoft.IdentityModel.Protocols.WSTrust.WSTrustServiceContract,而不是更新的服务System.ServiceModel.Security.WSTrustServiceContract.由于某种原因,它不被IntelliSense识别:

在此输入图像描述

蓝色波浪线错误是:

The 'name' attribute is invalid - The value 'System.ServiceModel.Security.WSTrustServiceContract' is invalid according to its datatype 'serviceNameType'
Run Code Online (Sandbox Code Playgroud)

我有程序集引用System.ServiceModel,并System.IdentityModel<assemblies>节点.

即使我忽略了IntelliSense错误并运行服务并使用浏览器访问它,我也会收到此元数据错误:

Metadata publishing for this service is currently disabled. 
Run Code Online (Sandbox Code Playgroud)

元数据发布启用,因此我认为这是因为服务的名称问题.

另外我从VS.NET WCF测试客户端收到此错误:

Error: Cannot obtain Metadata from http://localhost:49178/Services/Issuer.svc 
If this is a Windows (R) Communication Foundation service to which you have access, please check that you have enabled metadata publishing at the specified address.  For help enabling …
Run Code Online (Sandbox Code Playgroud)

.net c# wcf wif .net-4.5

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