小编Ser*_*giy的帖子

VS 2015.为ASP.NET 5 Web项目设置正确的目标框架

我在Visual Studio 2015中创建了新的ASP.NET 5 MVC项目.在项目创建向导中,我选择显示.NET framework 4.6的模板,然后在下一个屏幕上选择ASP.NET 5预览中的"Web应用程序"模板.

但是,在创建之后,项目似乎只在project.json的"frameworks"部分中列出了"dnx451"和"dnxcore50":

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  },
Run Code Online (Sandbox Code Playgroud)

我试图将"dnx451"更改为"dnx46".该项目已经很好地构建但是当我尝试运行它时,我收到以下错误消息:

当前运行时目标框架与"..."不兼容.

当前运行时目标框架:'DNX,Version = v4.5.1(dnx451)'类型:CLR架构:x86版本:1.0.0-beta5

如何更改ASP.NET 5项目的"目标框架"?

这是我的global.json现在:

{
  "projects": [
    "src",
    "test",
    "wrap"
  ],
  "sdk": {
    "version": "1.0.0-beta5",
    "runtime": "clr",
    "architecture": "x86"
  }
}
Run Code Online (Sandbox Code Playgroud)

但那里列出的是什么并不重要.我已经尝试过不同版本的1.0.0-beta5和最新的1.0.0-beta6

.net visual-studio-2015 asp.net-core

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

如何在没有实体框架的情况下使用ASP.NET Identity 3.0

我现在看到的ASP.NET Identity 3.0的所有示例都使用Entity Framework来存储与用户相关的数据.

是否有任何不使用Entity Framework的示例以及哪些ApplicationUser类不是派生自Microsoft.AspNet.Identity.EntityFramework.IdentityUser

在ASP.NET Identity 2.x中,需要实现IUser接口.现在似乎没有这样的界面 - 所以我们不确定如何User正确定义类.几乎没有关于这个主题的文档.

第二个问题是AddIdentity打电话Startup.ConfigureServices.它与Microsoft.AspNet.Identity.EntityFramework命名空间中的特定类非常相关,并且不清楚如何在没有这些类的情况下注册身份服务.

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

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

在MVC 6中从DB渲染视图

我们正在开发ASP.NET MVC 6项目,并且有必要从文件系统源以外的地方呈现Razor视图(特别是Azure Blob存储,但这并不重要).之前(在MVC 5中)可以创建和注册自定义VirtualPathProvider,它可以从DB或资源DLL中获取视图内容(例如).

似乎MVC 6中的方法已经改变了.有人知道在哪里寻找吗?

UPD:这是我正在寻找的代码示例:

   public IActionResult Index()
    {

        ViewBag.Test = "Hello world!!!";
        string htmlContent = "<html><head><title>Test page</title><body>@ViewBag.Test</body></html>";

        return GetViewFromString(htmlContent);
    }
Run Code Online (Sandbox Code Playgroud)

问题是:如何实现该GetViewFromString功能?

asp.net-mvc razor asp.net-core-mvc

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

重新部署后不记名令牌失效

我们将 ASP.NET MVC 5.x WebAPI 2.x Web 应用程序作为 Azure 云服务运行,并使用令牌授权对我们的服务进行 REST API 调用。

问题是:每次我们重新部署我们的应用程序时 - 所有当前令牌都变得无效(服务器对任何请求都返回“非授权”响应)。

问题是:为什么会发生这种情况以及如何防止这种行为?

UPD:这是发出令牌的代码:

public string GetOAuthToken(IUser user) {
    if (user  != null) {
        var identity = new ClaimsIdentity(Startup.OAuthOptions.AuthenticationType);
        identity.AddClaim(new Claim(ClaimTypes.Name, user.UserName));
        identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, user.Id));
        AuthenticationTicket ticket = new AuthenticationTicket(identity, new AuthenticationProperties());
        var currentUtc = DateTime.UtcNow;
        ticket.Properties.IssuedUtc = currentUtc;
        ticket.Properties.ExpiresUtc = currentUtc.Add(TimeSpan.FromDays(36600)); //About 100 years
        string AccessToken = Startup.OAuthOptions.AccessTokenFormat.Protect(ticket);
        return AccessToken;
    }
    return "";
}
Run Code Online (Sandbox Code Playgroud)

UPD2:似乎由默认令牌端点 (/Token) 生成的令牌在重新部署后不会失效 - 所以问题(我认为)出在我们为“手工”令牌设置的某些属性中。我在哪里可以找到创建默认令牌的代码(由 /Token 端点返回)?

asp.net asp.net-mvc azure asp.net-web-api

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

具有同等重要的服务器端和客户端部分的项目的典型目录结构

我们将发布一个开源库,其中包含一个用 C# 编写的服务器端部分(用于 Web API、提取元数据、数据库相关操作等)和一个用 TypeScript 编写的执行 UI 的客户端部分.

通常,我们的存储库具有经典结构,例如:

  • docs/ - 文档
  • 示例/ - 一些示例项目
  • src/ - 库本身的源代码
  • 测试/ - 单元和集成测试

但是,现在我不确定如何组织这个 Git 存储库,因为所有这些部分(可能包含这两个部分的示例项目除外)对于客户端和服务器端将完全不同。

所以,现在,我们得到了这样的结构:

  • 样品/
  • 客户/
    • 文档/
    • 来源/
    • 测试/
  • 服务器/
    • 文档/
    • 来源/
    • 测试/

但是,我仍然不太确定这种结构,并希望听到社区的任何想法或建议。

可能,最好将它放在 2 个不同的存储库中?但是,我们希望保留客户端和服务器端部分的统一版本控制,并且不想不必要地使事情复杂化。

git typescript .net-core asp.net-core

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