我想在内部建立一个实体.我已将实体,其标量属性和导航属性更改为内部.我尝试构建它时遇到此错误:
错误6036:EntityType"文件"具有"内部"可访问性,而EntitySet"文件"具有"公共"可访问性的get属性.EntitySet的get属性的访问权限不得低于包含EntityType访问权限的访问权限.
我无法编辑designer.cs,因为它没有生成此错误.我检查了edmx文件,但没有任何公共值与"文件"或"文件"相关联.我该怎么办?
我们有ASP.NET Core应用程序用作REST api。方法[FromBody]MyClass param用作输入。问题是,如果客户端发送无效的JSON字符串,input则由于JSON序列化错误,该值将变为null。有没有办法记录这种错误?
编辑:我正在寻找不是按方法的应用程序范围的解决方案。
如何在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) 我有一个使用此客户端配置的测试项目:
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。难道我做错了什么?
我正在使用TransactionScope一些批量插入和更新.问题是,即使我将超时设置TransactionScope为一小时,我也会在30分钟的长时间操作中遇到超时异常.
同样在异常之后,它会插入看似随机数量的批次记录.例如,最后一个操作有12440个插入,超时后,表中插入了7673条记录.
的超时SqlConnection和SqlCommand均设置为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) 我Xml documentation file在我的ASP.NET Core MVC应用程序中选择了" ",它显示" bin\Debug\net452\MyProject.xml"作为输出文件夹.问题是该文件在发布文件夹中不存在.我需要额外添加它吗?使用.NET Core 1.0-RC4和VS.NET 2017 RC4(新的csproject格式).
如何让以下代码等待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“网络”选项卡中所示。
我有一个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) 是否可以使用Except()两个具有两个不同类但是共同字段的List?我有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)
我究竟做错了什么?
我有一个令牌发行者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 ×4
c# ×3
asp.net-core ×2
linq ×2
.net-3.5 ×1
.net-4.5 ×1
angular ×1
ienumerable ×1
json.net ×1
lambda ×1
mysql ×1
rest ×1
rxjs ×1
transactions ×1
typescript ×1
wcf ×1
wif ×1