ASP.NET网站-默认命名空间

ASP.NET网站-默认命名空间,asp.net,Asp.net,在Visual Studio中,可以使用以下屏幕为VB.NET应用程序设置默认命名空间: 您可以对作为ASP.NET web应用程序的Visual Studio项目执行相同的操作。它不适用于ASP.NET网站,为什么?我在一个网站上看到: 简短回答:Web站点项目缺少Web应用程序项目所具有的许多功能 有关详细比较,请参阅。简短回答:网站项目缺少Web应用程序项目所具有的许多功能 有关详细比较,请参阅。网站不会创建dll,但web应用会创建。若要为网站创建dll,请使用web_deploy p

在Visual Studio中,可以使用以下屏幕为VB.NET应用程序设置默认命名空间:

您可以对作为ASP.NET web应用程序的Visual Studio项目执行相同的操作。它不适用于ASP.NET网站,为什么?我在一个网站上看到:


简短回答:Web站点项目缺少Web应用程序项目所具有的许多功能


有关详细比较,请参阅。

简短回答:网站项目缺少Web应用程序项目所具有的许多功能


有关详细比较,请参阅。

网站不会创建dll,但web应用会创建。若要为网站创建dll,请使用web_deploy project。

网站不会创建dll,但web应用会创建。要为网站创建dll,请使用web_deploy project。

由于ASP.NET网站的分发和编译方式,没有理由使用默认名称空间,因为每个ASP.NET文件都是动态编译的,并在第一次加载页面时转换为自己的dll(这是执行ASP.NET的“旧方法”)

然而,对于Web应用程序,一堆代码隐藏文件(以及可能的其他代码文件)被预编译到一个DLL中,这会造成一种情况,即最好将所有这些文件都放在一个命名空间中


您可以将其视为网站是网页的集合,但Web应用程序是一个统一的整体。

由于ASP.NET网站的分布和编译方式,没有理由使用默认名称空间,因为每个ASP.NET文件都是动态编译的,并在第一次加载页面时转换为自己的DLL(默认名称空间)做ASP.NET的“老办法”

然而,对于Web应用程序,一堆代码隐藏文件(以及可能的其他代码文件)被预编译到一个DLL中,这会造成一种情况,即最好将所有这些文件都放在一个命名空间中


您可以将其视为一个网站是一组网页,但Web应用程序是一个统一的整体。

我使用的是网站,我需要一种方法来访问Global.asax文件中的BundleConfig、IdentityConfig和RouteConfig类和模块。我能够将这些文件放入“应用程序代码”中“文件夹,允许您在类和模块周围放置名称空间

以下是一个例子:

Namespace TCEmpSite
    Public Module RouteConfig
        Sub RegisterRoutes(ByVal routes As RouteCollection)
            Dim settings As FriendlyUrlSettings = New FriendlyUrlSettings()
            settings.AutoRedirectMode = RedirectMode.Permanent
            routes.EnableFriendlyUrls(settings)
        End Sub
    End Module
End Namespace
然后在Global.asax文件中,我可以做到:

Private Sub Application_Start(sender As Object, e As EventArgs)
        ' Code that runs on application startup
        TCEmpSite.RouteConfig.RegisterRoutes(RouteTable.Routes)
        TCEmpSite.BundleConfig.RegisterBundles(BundleTable.Bundles)
        TCEmpSite.IdentityConfig.ConfigureIdentity()
    End Sub

希望这对别人有帮助

我正在使用网站,我需要一种方法来访问Global.asax文件中的BundleConfig、IdentityConfig和RouteConfig类和模块。我能够将这些文件放入“App_Code”文件夹,该文件夹允许您在类和模块周围放置名称空间

以下是一个例子:

Namespace TCEmpSite
    Public Module RouteConfig
        Sub RegisterRoutes(ByVal routes As RouteCollection)
            Dim settings As FriendlyUrlSettings = New FriendlyUrlSettings()
            settings.AutoRedirectMode = RedirectMode.Permanent
            routes.EnableFriendlyUrls(settings)
        End Sub
    End Module
End Namespace
然后在Global.asax文件中,我可以做到:

Private Sub Application_Start(sender As Object, e As EventArgs)
        ' Code that runs on application startup
        TCEmpSite.RouteConfig.RegisterRoutes(RouteTable.Routes)
        TCEmpSite.BundleConfig.RegisterBundles(BundleTable.Bundles)
        TCEmpSite.IdentityConfig.ConfigureIdentity()
    End Sub

希望这对别人有帮助

谢谢你更好的解释!谢谢您会说:“然而,对于Web应用程序,一堆代码隐藏文件”。网站也有代码隐藏文件。对。对于Web站点,每个站点都被动态编译到自己的DLL中。对于Web应用程序,一堆文件被捆绑在一个DLL中。感谢您提供更好的解释!谢谢您会说:“然而,对于Web应用程序,一堆代码隐藏文件”。网站也有代码隐藏文件。对。对于Web站点,每个站点都被动态编译到自己的DLL中。对于Web应用程序,一堆数据被捆绑在一个DLL中。