Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Spring.NET配置问题_C#_Spring.net - Fatal编程技术网

C# Spring.NET配置问题

C# Spring.NET配置问题,c#,spring.net,C#,Spring.net,我是一个被迫学习C的Java开发人员。因为我无法忍受不使用依赖注入容器,所以我尝试在我的项目中配置Spring.NET 我的项目在VisualStudio中分为两个解决方案:一个用于所有业务逻辑、服务、DAO等的类库解决方案,以及一个Webapp部分(ASP.NET页面等) 我发现很有意思的是,我可以通过页面背后的代码将依赖项有效地注入到实际页面中,这是我用JSP无法做到的。但是,我想要的是将ClassLibrary解决方案中的一个服务(UserService)注入到Login.aspx.cs中

我是一个被迫学习C的Java开发人员。因为我无法忍受不使用依赖注入容器,所以我尝试在我的项目中配置Spring.NET

我的项目在VisualStudio中分为两个解决方案:一个用于所有业务逻辑、服务、DAO等的类库解决方案,以及一个Webapp部分(ASP.NET页面等)

我发现很有意思的是,我可以通过页面背后的代码将依赖项有效地注入到实际页面中,这是我用JSP无法做到的。但是,我想要的是将ClassLibrary解决方案中的一个服务(UserService)注入到Login.aspx.cs中,它位于Webapp部分


我是否必须在类库侧的App.Config和Web.Config侧的App.Config中定义UserService对象?

否。您可以使用“assembly”前缀(类似于Java中的“classpath”前缀)将Spring.Net配置从DLL项目(定义UserService)导入Web项目。在web项目的spring配置中,您可以引用DLL中定义的所有对象


不要忘记将包含配置的XML文件(在DLL项目中)标记为要包含在DLL中的资源。

运行ASP.NET应用程序时,未使用类库的app.config。只考虑web应用程序的web.config。因此,您可以在web.config中声明依赖项:

<configSections>
    <sectionGroup name="spring">
        <section name="context" 
                 type="Spring.Context.Support.ContextHandler, Spring.Core"/>
    </sectionGroup>
</configSections>
<spring>
    <context>
        <resource uri="~/Config/context.xml"/>
    </context>
</spring>

用“学C”这个短语,你可能会得到更好的回答,而不是“被迫学C”。老实说,我并不觉得“被迫学C”是粗鲁的,但如果你被冒犯了,我道歉。我对c#做了很多不太好的评论:这些评论可能与任何开发人员在切换到具有不同风格和哲学的不同语言时所做的评论类型相同。但是,我把它们留给了自己。:)我承认,我没有生气,只是有点轻率。然而,我认为你会发现,你在C语言中做得越多,你就越能真正了解Java,反之亦然。在我的经历中,许多相似之处,许多不同之处——思考它们会让你对两者有更深的了解。祝你好运。好吧,让我看看我是否有这个想法。在web.config中,在小节中,使用添加对“MyApplication.ClassLibrary”的引用应从DLL项目中获取config.xml资源文件(只要我将其标记为资源)?请参阅和22.3.1。您可以将配置放在程序集中。我总是更喜欢程序集中的自包含模块配置,因为它们很少(如果有的话)真正改变。应该在Web.config中声明这些页面及其依赖项(带有ref属性的属性)。Spring.NET将在不需要管道代码的情况下处理注入。有关在ASP.NET页面中使用依赖项注入的更多信息,请参阅
<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">
    <!-- Define the UserService object -->
    <object id="userService" type="Namespace.UserService, ClassLibrary" />
</objects>
var userService = (UserService)ContextRegistry
    .GetContext()
    .GetObject("userService");