ASP.Net 5提供了一个,可以轻松地将任何POCO类转换为一个设置类。使用它,我可以用json编写我的设置,然后将它们转换成一个类型化的对象,我可以将其注入到控制器中。因此,例如,我的ConfigureServices方法在Startup.cs中包含行
services.Configure<AppSettings>(Configuration.GetSection("AppSettings"));
然后使用依赖项注入将其传递到我的控制器的构造函数中。
public ItemsController(IOptions<AppSettings> setti
我正在寻找一种干净的模式来在.Net扩展方法中使用依赖项,而不需要显式地更新或使用服务定位器:
public static class HttpContextExtensions
{
public static SomeClass ExtensionMethod(this HttpContext context)
{
//looking to avoid this
var dependency = ServiceLocator.GetService<DependencyType>();
return dependenc
因此,我需要在我的IMemoryCache核心应用程序中使用ASP.NET,在大多数地方,它被注入控制器并按预期工作。现在我需要缓存菜单的一部分,菜单逻辑作为布局视图的一部分被调用。所以,没有一个控制器可以谈论。我的启动程序已经包含了以下几个方面,可以很好地应用于其他方面:
services.AddMemoryCache();
作为布局一部分的调用如下所示:
@(await new MenuUtility().DisplayNavBar(Html, showMenus))
将在其中使用缓存的MenuUtility类具有如下调用:
public class MenuUtility
{
pri
将继承的ASP.NET应用程序移植到使用SqlCommand扩展方法实现伪环境事务的ASP.NET核心:
public static class SqlExtension
{
public static SqlCommand NewCommand( this SqlConnection c )
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = c;
SqlTransaction ambientTransaction = (SqlTransaction)
ASPX视图(在ASP.NET MVC中)是否可能具有非默认构造函数,并在创建此视图时使用此构造函数?
示例- Page将从该类继承:
public class ViewPageWithHelper<TModel> : System.Web.Mvc.ViewPage<TModel> where TModel : class
{
public ViewPageWithHelper(Helpers helpers)
{
Helpers = helpers;
}
protecte
我正在尝试安装一些具有依赖链的包,最终需要在底部安装libc6和libc6-dev。
我在GCE中的几台机器上安装了debian GCE(全新安装),并且在尝试安装libc6-dev时遇到以下错误:
# apt-get install libc6-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested
在ASP.NET Web aspx.cs文件后面的代码中实例化存储库类实例的正确方法是什么。我尝试过这样做,就像在MVC控制器中一样,但似乎我错过了一些东西。到目前为止,我一直在没有运气的情况下尝试过这样的方法。
public partial class Ajax : System.Web.UI.Page
{
private Repository _repo;
public Ajax()
{
_repo = new Repository();
}
protected void Page_Load(object sender, Even
我需要在静态类中获取或访问我的IoC容器。这是我的(简化)场景:
我在启动类中注册ASP的依赖项(但我也为.net或WCF.我有一个DependecyResolver项目,但为了简单起见,请考虑以下代码)
// Web Api project - Startup.cs
public void Configuration(IAppBuilder app)
{
HttpConfiguration config = new HttpConfiguration();
var builder = new ContainerBuilder();
// ... Omited fo
我的ASP.NET MVC应用程序中有一个静态帮助方法。下面是一些演示问题的示例代码(实际代码稍微复杂一些)。请把注意力集中在模式上。实际代码不与数据库交互。
下面的代码是抽象的,以便进行单元测试。我的问题是如何获得IDatabaseManager的具体实现。使用服务定位器不好吗?有什么好的建议吗?我看过服务定位器是反模式的。请给我建议。代码中的所有其他地方都在使用依赖注入(这里的问题显然是静态DataWriter方法)。
public static class DataWriter {
public static void WriteDate() {
var date
我正在开发一个应用程序,该应用程序被拆分为多个程序集。每个程序集都向外部世界提供接口,实例是通过基于Ninject的工厂生成的.
啊,好吧,让有代码。这是来自执行程序集的。
public class IsolationTestModule : NinjectModule
{
public override void Load()
{
ServiceFactory sf = new ServiceFactory();
Bind<IService>().ToMethod(context=>sf.CreatService()).InS
我正在写一个html助手,它将为我做一些计算。现在因为它是一个帮助器,所以它是一个静态方法。例如:
public class MyHelper
{
public static HtmlString DoSomething()
{
//do some action and return;
}
}
我面临的问题是,我从cshtml文件调用它,我需要在这个方法中以某种方式计算文件版本。通常我可以用<asp-apend-verion="true">在html中调用它,但是因为我在这里返回一个字符串,所以如果我只是键入它,它就不起作用了
给一堂课:
class Container
{
public function getServiceX()
{
create and return it
}
public function setServiceX ($obj)
{
}
}
这存储了一个对象的实例。你可以把它当作工厂。在行动中:
public function addTitle()
{
Container::getServiceX()->doIt();
}
他们说它不好,因为它是“全球性的”。但是可以更改对象,使其满足DI -但损害了LoD。如果这