小编Bla*_*ise的帖子

如何在C#中注入一个类(不是接口)?

我在这里使用Unity.但可能我们只需指向一个正确的方向.

我们知道如何注入接口:

public class AccountController:ApiController
{
    private readonly IAccountRepository _repository;

    public AccountController(IAccountRepository repository)
    {
        _repository = repository;
    }
}
Run Code Online (Sandbox Code Playgroud)

使用RegisterType

var container = new UnityContainer();
container.RegisterType<IAccountRepository, AccountRepository>(new HierarchicalLifetimeManager());
Run Code Online (Sandbox Code Playgroud)

但是在我的AccountRepository中,我们将一个类注入到构造函数中.

private readonly ApplicationUserManager _userManager;
public AccountRepository(ApplicationUserManager userManager)
{
    _userManager = userManager;
}
Run Code Online (Sandbox Code Playgroud)

因此,在调用ApiController时,我仍然会收到此错误:

尝试创建"AccountController"类型的控制器时发生错误.确保控制器具有无参数的公共构造函数.

堆栈跟踪:

System.Web.Http.Detpatcher.DefaultHttpControllerActivator.GetInstanceOrActivator上的System.Web.Http.Internal.TypeActivator.Create [TBase](Type instanceType)中的System.Linq.Expressions.Expression.New(Type type)(HttpRequestMessage请求,类型System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create(HttpRequestMessage请求,HttpControllerDescriptor controllerDescriptor,类型controllerType)中的controllerType,Func`1和activator)

由于我已经创建了一些其他工作正常的ApiControllers,我想这一定是因为我们的ApplicationUserManager无法解析.

这里ApplicationUserManager继承自UserManager而不是接口.我不能用container.RegisterType<interface, derived_class>.解决问题的正确方法是什么?


这是ApplicationUserManager:

public class ApplicationUserManager : UserManager<User>
{
    public ApplicationUserManager(IdentityContext identityContext)
        : base(new UserStore<User>(identityContext)) …
Run Code Online (Sandbox Code Playgroud)

c# dependency-injection unity-container

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

什么是"FlipAhead请求的Prerender开始为url:一个未知的原因"?

我不知道对prerender还是prefetch因为这所描述预渲染和预取支持的文章.

我的网站肯定没有实现该功能.但是在Edge浏览器中运行时出现错误:

PRERENDER13101:FlipAhead请求的Prerender开始为url:一个未知的原因

在此输入图像描述

我们该如何删除该错误?

internet-explorer microsoft-edge

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

在 IIS 上安装 .crt SSL 证书

设想:

需要在IIS服务器上搭建现有的PHP网站。

现有网站在某些子域中使用 SSL。证书是something.crt。

在 IIS,服务器证书中,我尝试导入证书。但它要求一个扩展名为 .pfx 的文件。它要求输入密码。

我不熟悉 SSL 设置。有人可以帮我吗?

更新:实际上我还有一个 .crt 文件和一个 gd_iis_intermediates.p7b 。看起来它们是由 GoDaddy 发行的。需要一些关于如何使用这两个证书文件的提示。

提前致谢。

php iis ssl https

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

如果角色包含空格,如何编写AuthorizeAttribute

我正在使用MVC3/4.但这只是授权中的一般性问题.

我所拥有的一个角色是在数据库中命名为"Trip Leader",其中包含一个空格.

我试过[Authorize(Roles="'Trip Leader', Administrator")]但它没能奏效.有人可以帮忙吗?

c# authorization asp.net-mvc-3

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

使用多个外键连接两个表

Trips

TripId_PK
StartLocationId_FK
EndLocationId_FK
Run Code Online (Sandbox Code Playgroud)

Locations

LocationId_PK
Name
Run Code Online (Sandbox Code Playgroud)

如何将两个表连接两次,以便我可以获得如下数据集:

TripId_PK
StartLocationName
EndLocationName
Run Code Online (Sandbox Code Playgroud)

提前致谢.

sql

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

使用动态列构建 SQL 查询

我的表如下:

患者表

PatientId   Name
1           James
...
Run Code Online (Sandbox Code Playgroud)

访问表

Date    PatientID_FK    Weight
1/1     1               220
2/1     1               210 
...
Run Code Online (Sandbox Code Playgroud)

如何构建返回的查询

PatientId    Name    Visit1Date    Visit1Weight    Visit2Date    Visit2Weight    ...
1            James   1/1           220             2/1           210
2            ...
Run Code Online (Sandbox Code Playgroud)

我们如何以这种方式添加更多列?那怎么写SELECT?请帮忙。


StackExchange 上的一些帖子说 SQL 语句不可能处理它。真的是这样吗?

sql sql-server pivot unpivot

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

如何在NuGet包中的现有文件中添加几行代码?

我在Startup.cs文件中添加了几行代码.我怎样才能在NuGet包中仅包含该更改?我当然不想包括整体Startup.cs,因为它会执行覆盖.

nuget

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

如何访问ng-view之外的范围

在导航栏上,我有一个使用的购物车快照(总项目,总价格)$scope.cart.

ng-view,有一些页面可以添加/删除购物车中的项目.

它似乎ng-view创建了一个孤立的范围.如果我添加项目$scope.cart,它将转到属于的范围ng-view.如何ng-view共享父范围?

angularjs

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

如何在Access窗体中显示超链接(数据表视图)

该表的一个字段是包含文件完整路径的备注字段.

我将在数据表视图中将路径显示为表单中的超链接.

这是我在该列的Property窗口中所做的:

  • 是超链接:是的
  • 显示为超链接:始终

现在,该列的值显示为超链接,蓝色和下划线.但是,如果我点击超链接,它不会带我到任何地方.

有一个名为"Hyperlink Target"的属性,我认为它必须是解决这个问题的地方.但我无处可找到此属性值的文档.我试过"_blank"好像它是Html,但它失败了.任何人都可以告诉我该属性应该是什么,以便超链接可以工作?

谢谢!

ms-access

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

如何在Code First中创建函数?

是否可以使用Code First在sql server中创建数据库函数?

喜欢

CREATE FUNCTION [dbo].[fnIsPaid] ...
Run Code Online (Sandbox Code Playgroud)

以下是我根据ChrFin的建议进行研究的方法.我把它标记为答案.但是,让我在这里保留更详细的记录.

Package Manager Console,Add-Migration AddFnIsPaid`中.

这将创建一个DbMigration以时间戳为前缀的类.

在这个迁移类中,我有一个创建脚本和drop脚本Up()Down()方法:

public partial class AddFnIsPaid : DbMigration
{
    public override void Up()
    {
        Sql(_createFunctionScript);
    }

    public override void Down()
    {
        Sql(DropFunctionScript);
    }


    #region SQL Scripts
    private readonly string _createFunctionScript = string.Concat(
            "CREATE FUNCTION [dbo].[fnIsPaid] ",
            "(",
            ...
            ") ",
            "RETURNS bit ",
            "AS ",
            "BEGIN ",
            ...
            "END"
            );

    private const string DropFunctionScript = "DROP FUNCTION …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc entity-framework code-first ef-migrations

5
推荐指数
2
解决办法
3618
查看次数