你能在Web.Config中放一个“使用”吗?

时间:2010-08-06 13:05:55

标签: c# asp.net web-config

我倾向于制作很多文件夹,当我做OO时,我将模型放在一个名为Models的文件夹中,然后根据我有BLL,DAL,OBJ

而不是写在我的所有文件using MyApp.Models;的顶部,我想尽可能将它放在Web.Config中。

我是.net的新手所以我不确定你是否可以,或者即使这是一个好主意。

3 个答案:

答案 0 :(得分:2)

可以注册程序集和命名空间以在标记中使用,但不能在代码文件后面的代码中使用。 VB.NET确实在项目级别上支持这一点,但我从不喜欢这个功能,因为它使你的内容不那么明确。

答案 1 :(得分:2)

这是不可能的。

必须在编译时解析类名,并且web.config可以在部署后随时更改。

答案 2 :(得分:2)

我不相信在C#文件的配置文件中有任何方法可以做到这一点。

这并不是你要求的,但最接近它的是你可以在web.config中注册名称空间,然后在ascx / aspx标记文件中使用,如Steven所说。以下是一个例子:

<configuration>
    <system.web>
        <pages>
            <namespaces>
                <add namespace="System.Web.Mvc"/>
                <add namespace="System.Web.Mvc.Ajax"/>
                <add namespace="System.Web.Mvc.Html"/>
                <add namespace="System.Web.Routing"/>
                <add namespace="System.Linq"/>
                <add namespace="System.Collections.Generic"/>
                <!-- Add your own namespaces here -->
            </namespaces>
        </pages>
    </system.web>
</configuration>

编辑:在下面添加了另一条建议:

如果您的大多数.cs文件中都包含多个using语句,那么我建议的最好的事情是A)保留那些使用语句的方法,您可以根据需要复制/粘贴它们,或者B)创建一个C#代码片段,例如下面的例子:

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>using MyApp</Title>
            <Shortcut>usingmyapp</Shortcut>
            <Description>Code snippet for common using statements with MyApp</Description>
            <Author></Author>
            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Code Language="csharp">
                <![CDATA[using MyApp.Common;
using MyApp.Common.Extensions;
using MyApp.Domain;
using MyApp.Models;
// *** add whatever using statements you want here ***
$end$]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>

将该文件添加到适当的位置(... \ My Documents \ Visual Studio 2008 \ Code Snippets \ Visual C#\ My Code Snippets)后,您应该可以开始输入“usingmyapp”(或你放在{。1}元素内的任何内容,你想要出现using语句的.cs文件的位置; intellisense应该识别它,并通过插入代码段的<Shortcut>内容为您自动填充。

就个人而言,我并不打算做这样的事情;如果其中一些语句实际上没有在该文件中使用,我不想在我的文件中添加一堆using语句。此外,如果您开始使用出现在多个名称空间中的类名,我认为批量添加几个using语句可能会导致混淆模糊名称冲突。但我认为这只是个人偏好;如果你想这样做,请继续。