小编Mar*_*one的帖子

无法使用UrlHelper

我目前正在尝试在ASP.NET 4中做一些简单而直接的事情,但是现在在ASP.NET 5中并不是这样.

以前使用UrlHelper它很简单:

var urlHelper = new UrlHelper(HttpContext.Current.Request.RequestContext);
Run Code Online (Sandbox Code Playgroud)

但是我不能为我的生活包围我如何使用新的UrlHelper.我正在看测试用例,要么我完全愚蠢,要么我错过了一些东西,我似乎无法弄明白.这里有任何帮助来清理这个都很棒.

asp.net asp.net-core-mvc

15
推荐指数
3
解决办法
3802
查看次数

无法使用数据注释

所以在这里我们试图在游戏开始之前处理EF7并且我遇到了我只能称之为疯狂的事情.

在EF6中我使用了相当多的注释,我试图将其转移到EF7中,根据UnicornStore项目,这是完全有效的,但是我遇到了一个问题,其中visual studio 2015抱怨我没有参考到System.ComponentModel.DataAnnotations程序集.很公平,我添加了对程序集的引用,现在我从DNX Core 5.0获得以下内容:

Error   CS0234  The type or namespace name 'DataAnnotations' does not exist in the namespace 'System.ComponentModel' (are you missing an assembly reference?) Lib.DNX Core 5.0
Run Code Online (Sandbox Code Playgroud)

对于我的生活,我无法弄清楚这里发生的事情,因为当我看到UnicornStore作为我的参考时,在project.json中没有对该程序集的引用,但是项目中有一个引用. lock.json,据我所知,你不应该编辑那个文件.

最重要的问题是我做错了什么?为什么DNX 4.5.x不会抱怨引用而DNX Core 5.0呢?

c# entity-framework-core

9
推荐指数
2
解决办法
7627
查看次数

EntityFramework Core 2 默认值

我正在尝试在我的几个 EF 模型上使用默认值,但我注意到要么我误解了该HasDefaultValue行为,要么无法正常工作。

我有下表和支持模型

CREATE TABLE [dbo].[packages]
(
   [Scnumber] BIGINT NOT NULL, 
   [PU] INT NOT NULL,
   [State] SMALLINT NOT NULL DEFAULT 0, 
   [Status] [smallint] NOT NULL, 
   [Created] DATETIME NOT NULL DEFAULT GETDATE(), 
   CONSTRAINT [PK_packages] PRIMARY KEY CLUSTERED ([Scnumber] ASC) ON [PRIMARY], 
)

[Table("packages", Schema = "dbo")]
public class Package
{
   [Key]
   [Column(TypeName = "bigint")]
   public long Scnumber { get; set; }

   [Column]
   [Required]
   public int PU { get; set; }

   [Column(TypeName = "smallint")]
   [Required]
   public PackageStatus Status { …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework entity-framework-core

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

从MVC控制器中使用ASP.NET WebApi

我已经开始研究一个新的项目,我通过WebApi公开客户端功能,以便我可以在多个设备上重用相同的功能,但是移动设备和托管应用程序之间共享一些功能.

我的问题是,虽然我知道如何从设备中消耗WebApi,但我在最佳方式,最佳实践或者只是在如何从承载主机的MVC项目中使用WebApi的方面做了一些空白. API.

我的第一个想法是按照我需要的方式实例化控制器,但是我有一种潜在的怀疑,虽然它会起作用但这是一种糟糕的方法.

另一个想法是使用HttpClient.虽然我有幸运气,因为我永远找不到api的

var client = new HttpClient(new HttpServer(GlobalConfiguration.Configuration));
client.PutAsJsonAsync("/api/project/login", Json(model));
Run Code Online (Sandbox Code Playgroud)

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

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

在没有导航控制器的情

我确信这已经被无数次询问了,虽然答案仍然没有找到,但我已经看到了类似的问题.

我有一个具有多个视图控制器的应用程序,并且作为一个好的视图控制器执行自己的任 但是我发现自己陷入了困境,我无法从一个视图控制器切换到另一个视图控制器.我见过很多人说"使用导航控制器",但这不是我想要使用的,因为不需要的视图元素是视图控制器的一部分.

我做了以下事情并取得了有限的成功.视图控制器已切换但视图未加载,我得到一个空视图:

- (IBAction)showLogin:(id)sender
{
    PPLoginViewController *login = [[PPLoginViewController alloc] initWithNibName:@"PPLoginViewController" bundle:nil];

    PPAppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
    appDelegate.window.rootViewController = login;

    [self.view insertSubview:login.view atIndex:0]; 
}
Run Code Online (Sandbox Code Playgroud)

iphone uiviewcontroller uinavigationcontroller ios ios6

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

无法创建新的索赔标识

我目前正在尝试向已通过身份验证的用户公开字段,但是在向已通过身份验证的用户添加新声明时遇到了一些困难。

在MVC5中,我将执行以下操作:

public class ApplicationUser : IdentityUser
{
    public string FullName { get; set; }
    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
    {
        // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
        var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
        // Add custom user claims here
        userIdentity.AddClaim(new Claim("FullName", FullName));
        return userIdentity;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试在MVC6中执行此操作时,遇到了对象和方法丢失的问题。Visual Studio表示CreateIdentityAsync()和DefaultAuthenticationTypes似乎都丢失了,当我深入研究Identity来源时,我可以看到CreateIdentityAsync不再存在,但是我似乎找不到关于DefaultAuthenticationTypes的任何信息。

目前,我认为这是一个不错的选择,但是过去几天让我发疯了,并且很高兴了解出了什么问题或这是如何改变的。

asp.net-core-mvc asp.net-identity-3

5
推荐指数
0
解决办法
1054
查看次数

尝试使用带有打字稿的 vue-router 时“没有重载匹配此调用”

我拼命地试图让 vue 和 vue-router 与 typescript 一起工作,但我一直遇到路由器问题。

由于对我的团队施加的限制,我们无法使用节点和包管理器,因此我们被迫使用安装 vue 和 vue-router 的脚本方法:

<script src="~/scripts/libs/vue/vue.js"></script>
<script src="~/scripts/libs/vue-router/vue-router.js"></script>
Run Code Online (Sandbox Code Playgroud)

除了使用上述安装vue的方法外,我们也无法使用任何捆绑工具,因此import和require()也不可用。

就其本身而言,我们对 vue 和 typescript 的组合没有任何问题,但是当我由于某种原因尝试使用 vue-router 时,我无法让 vue 在路由器上接听。当我尝试按照文档中的描述使用路由器时,我收到“没有与此调用匹配的过载”。

当我沿着这条路线走时,我使用以下内容:

const homeComponent = { template: "<div>Home</div>" };

const routes = [
    { path: "/", component: homeCompoent }
];

const router = new VueRouter({routes});
Vue.use(VueRouter);

const app = new Vue({
    el: "#app",
    router,
    data: { intl: Resources }
});
Run Code Online (Sandbox Code Playgroud)

这是我开始遇到打字稿问题的时候,因为路由器缺少过载。我也尝试遵循文档中的示例,即使如此,我仍然从打字稿中收到过载错误。

** 编辑 **

我想我已经弄清楚了实际问题是什么,但我仍然不知道它为什么会发生,以及如何解决它。

完全相同的问题出现在我一直试图利用的其他库中,打字稿似乎是问题所在。在 vue-router 的情况下,实际问题是该Vue对象不包含路由器对象的定义,因此当我尝试使用该对象时,很自然地,如文档所示,打字稿会引发错误。现在我确实有 vue-router 的类型定义,但从我所看到的类型定义要么没有被使用,要么有一个错误阻止他们Vue正确更新对象

typescript vue.js vue-router vuejs2

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

实体框架核心使用Windows服务

目前正在使用EF Core为我的数据访问层构建一个多累应用程序,我觉得我正在遇到问题而且我不是100%肯定我现在可以使用它.

基本上我将我的应用程序设计为以下组件

  • 窗户装配
  • asp.net mvc核心网络应用程序
  • Windows服务x2
  • 单元测试

在良好的设计中,我将尽可能多的域名放入我的程序集中,以便尽可能多地重用它,但这是我遇到问题的地方.我目前无法在我的单元测试应用中使用EF.

我目前正在重写OnConfiguring以设置数据库连接字符串,但是当我尝试在单元testI中使用上下文时,我不断收到以下异常消息:"Instance failure"

我的上下文现在很简单,只有一个实体,如下所示:

public partial class CdiContext : DbContext
{
    private string ConnectionString { get; set; }
    private bool IsService { get; set; }
    public CdiContext(string connectionString, bool isService)
    {
        ConnectionString = connectionString;
        IsService = isService;
    }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlServer(ConnectionString);
    }

    public DbSet<Region> Regions { get; set; }
 }
Run Code Online (Sandbox Code Playgroud)

为了排除单元测试作为问题我还创建了一个简单的控制台应用程序,甚至它抛出相同的异常,所以我真的迷失了如何继续.

 CdiContext context =  new CdiContext(@"Data Source=localhost\\SQLEXPRESS;Initial Catalog=herp-interface;Persist Security Info=True;User ID=sa;Password=herpaderp;Pooling=true", true);
 var regions = context.Regions.ToList();

 Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

问题是,除了ASP.NET核心MVC应用程序之外,我无法在任何类型的项目中使用Windows程序集中的EF上下文,这是我做错了什么?

c# entity-framework-core

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

ViewModel属性上的奇怪行为,RaisePropertyChanged未被执行

我注意到在向ViewModel属性添加对象时,RaisePropertyChanged会出现奇怪的行为.

private List<string> _items;
public List<string> Items
{
    get 
    {
        if(_items == null){ _items = new List<string>(); } 
        return _itmes; 
    }
    set
    {
        _items = value;
        RaisePropertyChanged("Items");
    }
}
Run Code Online (Sandbox Code Playgroud)

我什么时候通过属性将对象添加到集合中

Items.Add("new string");
Run Code Online (Sandbox Code Playgroud)

RaisePropertyChanged永远不会被调用.

让RaisePropertyChanged按照我希望的方式运行的最佳方法是什么?

c# wpf mvvm mvvm-light

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