小编Oma*_*mar的帖子

在pylab图窗口内绘制文本

我想添加一些关于用于创建绘图(直方图)的计算的更多细节.

如何在图窗口中添加一些可以放置在我想要的位置的文本?

python matplotlib

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

使用IoC,可以向Singleton注入具有瞬态寿命的对象吗?

我们有一个ASP.NET MVC应用程序,使用IoC将服务引用注入控制器,将存储库引用注入服务.

控制器必须具有瞬态寿命,因为它们必须根据请求进行实例化.但是,如果整个IoC堆栈按请求进行新增,则会产生一些开销.我们有比我想要的更多的依赖项,一个选项是拥有更多的控制器,每个控制器在堆栈中具有更少的依赖性.但是,暂时把它放在一边,我的问题是,如果一个注入单身的对象具有一个具有瞬态生命周期的依赖关系,那么这些依赖关系是否会因为被Singleton拥有而被视为单身?

具体来说,如果我们有以下内容

RepositoryA(需要是瞬态的,因为当前设计在构造函数中注入用户上下文)ServiceA(单例)ControllerA(瞬态)

实例化如下:

public ServiceA(IRepositoryA repo) {}
public ControllerA(IServiceA service) {}
Run Code Online (Sandbox Code Playgroud)

RepositoryA实际上是否会被实例化一次因为ServiceA被实例化一次?

我99%肯定答案是肯定的,但只想确认我必须在这里做的重构数量.

另外,假设服务和存储库没有任何用户/请求特定的实例变量,作为一种设计方法,是否有任何理由不对它们使用Singleton生命周期?

asp.net-mvc dependency-injection ioc-container

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

加载程序集时会发生什么?

在我的ASP.NET MVC应用程序中,我有以下设置:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <probing privatePath="bin;extras"/>
Run Code Online (Sandbox Code Playgroud)

我已经引用位于extras视图中文件夹中的程序集,它们已经完美地工作(使用<%@ Import Namespace="myNameSpace" %>).

我的问题

  1. 调用该行时会发生什么?
  2. 装配在哪里?
  3. 为什么我不能覆盖位于extras包含myNameSpace较新版本的文件夹中的程序集?(我收到一个错误,说组件在另一个程序中"打开")
  4. 有没有办法在没有重新启动应用程序的情况下使用较新版本覆盖程序集?

asp.net-mvc assemblies

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

依赖注入到达多远?

我的Web应用程序解决方案包含3个项目:

  1. Web应用程序(ASP.NET MVC)
  2. 业务逻辑层(类库)
  3. 数据库层(实体框架)

我想用Ninject来管理的生命周期DataContext由产生Entity FrameworkDatabase Layer.

业务逻辑层由引用存储库(位于数据库层)的类组成,我的ASP.NET MVC应用程序引用业务逻辑层的服务类来运行代码.每个存储库都MyDataContext从实体框架创建对象的实例

知识库

public class MyRepository
{
     private MyDataContext db;
     public MyRepository
     {
        this.db = new MyDataContext();
     }

     // methods
}
Run Code Online (Sandbox Code Playgroud)

业务逻辑类

public class BizLogicClass
{
     private MyRepository repos;
     public MyRepository
     {
          this.repos = new MyRepository();
     }

     // do stuff with the repos
}
Run Code Online (Sandbox Code Playgroud)

MyDataContext尽管从Web App到数据层的冗长依赖链,Ninject会处理生命周期吗?

asp.net-mvc dependency-injection ninject

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

中等信任文件I/O权限

根据这篇关于中等信任的MSDN文章,在中等信任下:

FileIOPermission受到限制.这意味着您只能访问应用程序的虚拟目录层次结构中的文件.您的应用程序被授予应用程序虚拟目录层次结构的读取,写入,附加和路径发现权限.

但是,对于我当前的托管服务提供商在中等信任下运行应用程序,当我尝试在应用程序的根文件夹中读取/写入文件时,我收到access to path 'myfile.xml' denied错误.

使用以下代码读取此文件

XElement file = XElement.Load(HttpContext.Current.Server.MapPath("~/myfile.xml"));
Run Code Online (Sandbox Code Playgroud)

更新完整错误:

对"C:\ WebSites\mywebsite\myfile.xml"路径的访问被拒绝.

描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.

异常详细信息:System.UnauthorizedAccessException:拒绝访问路径"C:\ WebSites\mywebsite\myfile.xml".

ASP.NET无权访问所请求的资源.考虑将资源的访问权限授予ASP.NET请求标识.ASP.NET具有基本进程标识(IIS 5上通常为{MACHINE}\ASPNET,IIS 6和IIS 7上为网络服务,IIS 7.5上已配置的应用程序池标识),如果应用程序未模拟,则使用该标识.如果应用程序模拟通过,则标识将是匿名用户(通常为IUSR_MACHINENAME)或经过身份验证的请求用户.

要授予对文件的ASP.NET访问权限,请在资源管理器中右键单击该文件,选择"属性",然后选择"安全"选项卡.单击"添加"以添加适当的用户或组.突出显示ASP.NET帐户,并选中所需访问的框.

来源错误:

在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.

堆栈跟踪:

[UnauthorizedAccessException:拒绝访问路径'C:\ WebSites\mywebsite\myfile.xml'.]
System.IO .__ Error.WinIOError(Int32 errorCode,String maybeFullPath)+12892935 System.IO.FileStream.Init(String path, FileMode模式,FileAccess访问,Int32权限,Boolean useRights,FileShare共享,Int32 bufferSize,FileOptions选项,SECURITY_ATTRIBUTES secAttrs,String msgPath,Boolean bFromProxy,Boolean useLongPath)+2481
System.IO.FileStream..ctor(String path,FileMode mode, FileAccess访问,FileShare共享,Int32 bufferSize,FileOptions选项,字符串msgPath,布尔bFromProxy)+229 System.IO.FileStream..ctor(字符串路径,FileMode模式,FileAccess访问,FileShare共享)+102
System.Xml.XmlWriterSettings.CreateWriter(String outputFileName)+5224496
System.Xml.Linq.XElement.Save(String fileName,SaveOptions options)+108
mesoBoard.Services.SiteConfig.UpdateCache()+1971 mesoBoard.Web.MvcApplication.OnApplicationStarted( )+62 Ninject.Web.Mvc.NinjectHttpApplication.Application_Start()+604

[HttpException(0x80004005):拒绝访问路径'C:\ WebSites\mywebsite\myfile.xml'.]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context,HttpApplication app)+3985477 System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS( IntPtr appContext,HttpContext context,MethodInfo [] handlers)+191
System.Web.HttpApplication.InitSpecial(HttpApplicationState state,MethodInfo [] handlers,IntPtr appContext,HttpContext context)+325 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr …

asp.net file-io medium-trust

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

过程参数中对Oracle UDT的无效绑定

我正在尝试调用一个将自定义数据类型table of numbers作为参数之一的过程.

以下是类型的定义:

create type num_list as table of number;
Run Code Online (Sandbox Code Playgroud)

以及程序的定义:

create or replace procedure my_procedure
    (listofnumbers num_list,
                  v_value char)
is
begin

  update my_table
     set my_column = v_value
   where my_row_id in (select column_value
                         from table(listofnumbers));

end;
Run Code Online (Sandbox Code Playgroud)

使用ODP.NET和C#,我将其声明如下:

var row_ids = new int[] { 1, 2 };

using (var oracleConn = new Oracle.DataAccess.Client.OracleConnection(myConnectionString))
{
    oracleConn.Open();
    var cmd = new Oracle.DataAccess.Client.OracleCommand("my_procedure", oracleConn);
    cmd.CommandType = CommandType.StoredProcedure;

    var param1 = new Oracle.DataAccess.Client.OracleParameter("listofnumbers", Oracle.DataAccess.Client.OracleDbType.Array, ParameterDirection.Input);
    param1.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
    param1.UdtTypeName = "num_list";
    param1.Value …
Run Code Online (Sandbox Code Playgroud)

c# odp.net oracle-xe user-defined-types

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

将Ninject v2与Asp.net Webforms集成的问题

我正在尝试将Ninject v2与我的asp.net webforms项目集成.我正在运行.NET Framework 4.0.

我的global.asax继承自Ninject.Web.NinjectHttpApplication.我还添加了CreateKernel方法:

protected override IKernel CreateKernel()
{
  IKernel kernel = new StandardKernel();
  kernel.Bind<IUser>().To<User>();
  return kernel;
}
Run Code Online (Sandbox Code Playgroud)

我的所有页面都继承自Ninject.Web.PageBase.我还在web.config中添加了以下httpmodule条目:

<add name="NinjectHttpModule" type="Ninject.Web.NinjectHttpModule, Ninject.Web">
Run Code Online (Sandbox Code Playgroud)

但是,当我运行应用程序时,会触发InvalidOperationException以及以下内容:

"ASP.login_aspx类型请求注入,但没有为Web应用程序注册内核.请确保您的项目定义了NinjectHttpApplication."

我究竟做错了什么?

亲切的问候

背风处

c# webforms ninject

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

连接具有相同值(不同列)的行的列值

SQL Server 2005

我有一张返回的表

ID  name    prop    value
--------------------------
1   one     Prop1   a
1   one     Prop1   b
1   one     Prop2   c
2   two     Prop1   d
2   two     Prop2   e
Run Code Online (Sandbox Code Playgroud)

我如何对其运行选择以返回

ID  name    prop        value
-----------------------------
1   one     Prop1       a,b
1   one     Prop2       c
2   two     Prop1       d
2   two     Prop2       e
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server group-concat

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

ASP.NET MVC 4 Web Api和REST经典服务之间的区别

我看到ASP.Net MVC4 WebApi将服务公开为Rest服务.

但是正常RestASP.Net MVC4 WebApi?之间究竟有什么区别?

rest asp.net-mvc asp.net-mvc-3

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

ASP.NET MVC 3 - ViewModel最佳实践

我有一个Razor视图,有很多图形和其他文本字段,从控制器获取数据.我正在考虑将一个ViewModel从控制器传递给视图,然后该视图将解析相关内容并显示它.

任何人都可以建议,如果在MVC中,上述方法是解决此问题的最佳方法吗?

ViewModel课程可能如下所示:

public class ViewModelDemo
{
    public MyChart chart {get;set;}
    public string LeftContent {get;set}
    public string bottomContent {get;set;}
    public ChartLeged legent {get;set} 
    ......
}

public class MyChart
{
   public List<int> xAxis {get;set}
   public List<int> yAxis {get;set;}
   ......
}
Run Code Online (Sandbox Code Playgroud)

我试图返回的原因ViewModel是页面的某些部分可能有不同的数据.

asp.net-mvc asp.net-mvc-3

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