小编gav*_*gav的帖子

构造函数使用autofac注入基类

我有一个抽象的基本控制器,它有一个构造函数,我希望在构建控制器时由autofac填充.

public abstract class BaseController : Controller
{
    protected ILogger { get; private set; }

    protected BaseController()
    {
    }

    protected BaseController(ILogger logger)
    {
        Logger = logger;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我从它派生一个控制器时,这似乎不起作用.

当我从控制器显式地显式调用构造函数时,我只能使它工作.这是正确的方法吗?

public class PublicController : BaseController
{
    public PublicController()
    {
    }

    public PublicController(ILogger logger) : base(logger)
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

此外,使用mvc集成程序集,似乎没有办法共享容器供其他类进行自己的解析.我在某处读到这不鼓励,为什么不呢?这只是为了解耦任何单个ioc框架的依赖性吗?构造函数注入是在heirachy中填充依赖的唯一方法.

谢谢

constructor code-injection abstract autofac

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

与Remoting相比,为什么WCF性能如此之慢?

我正在尝试评估在新系统中使用哪种通信技术,现在看起来Remoting是我们唯一的选择,因为WCF的性能非常糟糕.

与调用控制台应用程序中托管的远程接口相比,我使用nettcp对IIS7中托管的WCF服务进行了基准测试.WCF服务需要大约4.5秒来执行1000个请求,在端点上同步(它只返回一个对象的新瞬时).远程客户端需要<0.5秒才能执行相同的任务.

这是WCF客户端代码:

public class TcpNewsService : INewsService
{
    private INewsService _service = null;

    Lazy<ChannelFactory<INewsService>> _newsFactory = new Lazy<ChannelFactory<INewsService>>(() =>
    {
        var tcpBinding = new NetTcpBinding
            {
                //MaxBufferPoolSize = int.MaxValue,
                //MaxBufferSize = int.MaxValue,
                //MaxConnections = int.MaxValue,
                //MaxReceivedMessageSize = int.MaxValue,
                PortSharingEnabled=false,
                TransactionFlow = false,
                ListenBacklog = int.MaxValue,
                Security = new NetTcpSecurity 
                { 
                    Mode = SecurityMode.None, 
                    Transport = new TcpTransportSecurity
                    {
                         ProtectionLevel = System.Net.Security.ProtectionLevel.None,
                         ClientCredentialType = TcpClientCredentialType.None
                    },
                    Message = new MessageSecurityOverTcp 
                    { 
                        ClientCredentialType = MessageCredentialType.None } 
                    },
                ReliableSession = new OptionalReliableSession …
Run Code Online (Sandbox Code Playgroud)

.net wcf remoting

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

对Sql Server 2008的备用数据库的建议

我在Asp.Net上运行一个相当成功的成人网站(c#4.0),带有一个Sql Server 2008 R2后端.我们正在运行免费(Express)版本,并且接近我们的10gb数据限制.我们有大约10万名会员,并获得超过700万的页面展示次数(750K唯一身份访问者).

我正在寻找免费(或廉价)的替代品,因为我们买不起微软正在收取标准版处理器许可费的7,000美元+.我们没有太多希望获得他们的商业火花计划的免费许可证!

我们对任何会员数据库都有一个相当典型的架构.我们正朝着更加社交的方向发展,所以想想成人Facebook.我们目前在数据库中有42个表.我意识到规模问题.我们一直在以极快的速度增长,因此正在考虑采用NoSql替代方案.

所以,我正在考虑Postgres和RavenDB.Postgres在代码更改和数据迁移方面的摩擦力最小.但是,如果我们要成为Facebook(lolz),那么我最终会再次编写数据层(这让我感到难过).

所以可能现在开始使用NoSql解决方案,例如内置分片的RavenDb或Mongo.

思考?

sql-server open-source nosql

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