我想添加一些关于用于创建绘图(直方图)的计算的更多细节.
如何在图窗口中添加一些可以放置在我想要的位置的文本?
我们有一个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应用程序中,我有以下设置:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="bin;extras"/>
Run Code Online (Sandbox Code Playgroud)
我已经引用位于extras
视图中文件夹中的程序集,它们已经完美地工作(使用<%@ Import Namespace="myNameSpace" %>
).
我的问题
extras
包含myNameSpace
较新版本的文件夹中的程序集?(我收到一个错误,说组件在另一个程序中"打开")我的Web应用程序解决方案包含3个项目:
我想用Ninject来管理的生命周期DataContext
由产生Entity Framework
的Database 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会处理生命周期吗?
根据这篇关于中等信任的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 …
我正在尝试调用一个将自定义数据类型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) 我正在尝试将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."
我究竟做错了什么?
亲切的问候
背风处
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) 我看到ASP.Net MVC4 WebApi
将服务公开为Rest服务.
但是正常Rest
和ASP.Net MVC4 WebApi
?之间究竟有什么区别?
我有一个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 ×5
c# ×2
ninject ×2
asp.net ×1
assemblies ×1
file-io ×1
group-concat ×1
matplotlib ×1
medium-trust ×1
odp.net ×1
oracle-xe ×1
python ×1
rest ×1
sql-server ×1
t-sql ×1
webforms ×1