我有大量的[WebMethod]
整个应用程序,我希望我所有的[WebMethod]
都是异步的。我[WebMethod]
用 async 和 await 关键字装饰了我所有的签名,然后运行我的应用程序。它没有按预期进行。假设我有以下代码
背后的代码
[WebMethod]
public static async Task<List<XXX>> GetXXX()
{
return await new BusinessLogic().GetXXX().ConfigureAwait(false);
}
Run Code Online (Sandbox Code Playgroud)
业务层
internal async Task<List<XXX>> GetXXX()
{
var obj = await objDAL.GetXXX().ConfigureAwait(false);
List<XXX> listDO = new List<XXX>();
foreach (var item in obj)
{
listDO.Add(new Countries
{
XXXName = item.name,
XXXID = item.id
});
}
return listDO;
Run Code Online (Sandbox Code Playgroud)
objDAL.GetXXX
internal async Task<List<tblXXX>> GetXXX()
{
using (ABCEntities ctx = new ABCEntities())
{
return await ctx.tblXXX.ToListAsync().ConfigureAwait(false);
}
}
Run Code Online (Sandbox Code Playgroud)
我已经将调试器放在上面代码到达的整个路径中return await …
单独文件中的 EF CORE Fluent Api 配置适用于简单的类Ref #1 && Ref #2。当实体继承自KeyedEntity
或AuditableEntity
class abstract KeyedEntity<TValue> {
public TValue Id {get; set;}
}
class abstract AuditableEntity<TValue> : KeyedEntityBase<TValue>{
public DateTime DateCreated {get; set;}
public DateTime DateModified {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
映射器是这样的
public class KeyedEntityMap<TEntity, TId>
: IEntityTypeConfiguration<TEntity> where TEntity
: KeyedEntityBase<TId> where TId : struct
{
public void Configure(EntityTypeBuilder<TEntity> builder)
{
// Primary Key
builder.HasKey(t => t.Id);
// Properties
builder.Property(t => t.Id).HasColumnName("id").ValueGeneratedOnAdd();
}
}
public class AuditableEntityMap<TEntity, TId>
: …
Run Code Online (Sandbox Code Playgroud) c# entity-framework entity-framework-core asp.net-core ef-core-2.0
我有一个控件需要有多个选择选项来创建令牌。每当创建或删除令牌时都会生成数据库调用。现在的问题是,当我从服务器加载新页面时,控件中没有令牌。以下是我的剃刀代码:
@Html.DropDownList("ProjectIds", new MultiSelectList(projDDL.Items, "key", "value",Model.SelectedProject), new {@class = "form-control selectorBind", multiple = "multiple",@id= "myid" data_rowid = "ID", data_type="Project",data_myattr= "attr" })
Run Code Online (Sandbox Code Playgroud)
projDDL是一个包含下拉列表项的字典
SelectedProject也是包含所选项目键、值的字典
我尝试使用 MultipleSelect 跟踪此链接 MVC DropDown list但没有成功。
从服务器端加载令牌是我的问题。虽然我知道我可以通过 Jquery 轻松完成此操作,但我想使用 Razor。
解决方案
检查@Html.DropDownListFor
对比@Html.ListBoxFor
@Html.ListBoxFor(y => y.SelectedProjects, new MultiSelectList(projDDL.Items, "key", "value", Model.SelectedProjects), new { @class = "form-control selectorBind", multiple = "multiple", @id = @Model.SkillType+"Project_" + Model.ID, data_rowid = @Model.ID, data_type = "Project", data_myattr = "FK_ProjectID" })
Run Code Online (Sandbox Code Playgroud) asp.net ×2
c# ×2
asp.net-core ×1
asp.net-mvc ×1
asynchronous ×1
ef-core-2.0 ×1
jquery ×1
razor ×1
webforms ×1
webmethod ×1