精华内容
下载资源
问答
  • 命名空间服务器
    万次阅读
    2022-08-03 14:06:02

    当数据源中的xml存在命名空间时,应该注意xpath的写法,写法应注意以下几点:

    1.       xpath取值节点和属性都必须是小写

    2.       xpath取值必须通过//*[local-name()=’XXX’]来获取节点;

    更多相关内容
  • 关于 DFS 命名空间服务及其配置数据10/19/2020本文内容本文提供有关 DFS 命名空间服务及其配置数据的一些信息。原始产品版本: Windows Server 2012 R2,Windows Server 2008 R2 Service Pack 1原始 KB 数: 977511...

    关于 DFS 命名空间服务及其配置数据

    10/19/2020

    本文内容

    本文提供有关 DFS 命名空间服务及其配置数据的一些信息。

    原始产品版本:   Windows Server 2012 R2,Windows Server 2008 R2 Service Pack 1

    原始 KB 数:   977511

    摘要

    分布式文件系统 (DFS) 命名空间服务将配置数据存储在多个位置。 如果部分数据丢失或无法访问,可能会遇到故障,无法创建命名空间。

    简介

    本文讨论以下帮助您创建命名空间的主题:

    配置数据的存储位置。

    数据变得不一致的示例。

    可用于删除孤立的配置数据的方法。

    您可能会收到的症状和错误消息。

    更多信息

    DFS 命名空间配置存储位置

    以下位置存储分布式文件系统 (DFS) 命名空间的不同配置数据:

    Active Directory 域服务 (AD DS) 将基于域的命名空间配置数据存储在包含命名空间服务器名称、文件夹目标和各种其他配置数据的一个或多个对象中。

    命名空间服务器为每个托管的命名空间维护共享。

    基于域的命名空间服务器上的注册表项将存储命名空间成员身份。

    备注

    在独立的命名空间服务器上,注册表项存储所有命名空间配置数据。

    如果配置数据的任何子集丢失或无效,则您可能无法管理该命名空间。 此外,通过使用 DFS 命名空间 Microsoft 管理控制台 (MMC) 管理单元、Dfsutil.exe 工具或 Dfscmd.exe 工具或客户端访问命名空间时,您可能会收到多种不同的错误消息。 有关可能的错误消息的列表,请参阅 "症状和错误消息" 部分。

    DFS 命名空间配置数据可能会变得不一致的示例

    Dfsutil/clean 命令在基于域的命名空间服务器上执行。 此命令将删除命名空间注册表数据。 存储在 AD DS 中的配置数据仍然保留,由 DFS 命名空间 MMC 管理单元枚举。

    执行 AD DS 的权威性还原,以恢复使用 DFS 管理工具(如 DFS 命名空间 MMC 管理单元或 Dfsutil.exe 工具)删除的 DFS 命名空间。 尽管 AD DS 的还原可能会成功,但除非还还原或恢复其他 DFS 命名空间配置数据,否则该命名空间不起操作。

    使用在服务器成为命名空间服务器之前创建的备份来还原命名空间服务器的系统状态。

    Active Directory 复制失败会阻止命名空间服务器找到 DFS 命名空间配置数据。

    不正确的修改或错误地删除命名空间服务器上命名空间的共享。

    手动操作注册表或 AD DS 命名空间配置数据。

    DFS 命名空间配置清理和删除

    DFS 命名空间配置数据由使用 DFS Api 的管理工具进行管理和维护。 DFS Api 将通知 Active Directory 域控制器和 DFS 命名空间服务器关于配置更改。 此行为可防止配置数据变得孤立,并确保配置数据中的一致性。 如果通知过程被禁止,或者如果数据已被删除或丢失,请按照此处列出的清理步骤删除配置数据。 除非对域控制器或命名空间服务器的系统状态进行备份,否则这些更改不可恢复。

    有关如何备份运行 Windows Server 2003 的服务器的系统状态的详细信息,请访问下面的 Microsoft 网站:

    https://technet.microsoft.com/library/cc759141.aspx

    有关如何备份运行 Windows Server 2008 的服务器的系统状态的详细信息,请访问下面的 Microsoft 网站:

    备注

    仅当不可能恢复配置数据或不需要恢复时,才应使用以下步骤。

    有关 DFS 命名空间的恢复过程的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

    969382 Windows 2003 和2008服务器中的 DFS 命名空间的恢复过程

    对于基于域的 DFS 命名空间,请验证是否删除了 AD DS 命名空间配置数据。 在删除过程之前,您必须准确标识与故障或不一致的命名空间关联的对象。 若要删除 AD DS 命名空间配置数据,请按照以下步骤操作:

    打开 Adsi. .msc 工具。 此工具包含在 Windows Server 2008 中,并要求安装 AD DS 角色或工具。 此工具在 Windows Server 2003 支持工具中可用。

    有关 Adsiedit 工具的详细信息,请访问以下 Microsoft 网站:

    查找托管基于域的命名空间的域的域分区。 移动到以下位置:

    CN = Dfs-配置、CN = System、DC =

    备注

    占位符是域的可分辨名称。

    DFS 命名空间将配置对象存储在此位置。 "Windows 2000 服务器模式" 的命名空间有一个 "fTDfs" 类对象,其名称与命名空间相同。 "Windows Server 2008 模式" 的命名空间具有一个名为 "msDFS-NamespaceAnchor" 的类对象,该对象的名称与关联的命名空间相同,并且可能包含任何已配置文件夹的其他子对象。

    选择适当的对象,如 "fTDfs" 或 "msDFS-NamespaceAnchor" 对象,然后将其与任何子对象一起删除。

    备注

    Active Directory 复制延迟可能会延迟此更改操作传播到远程域控制器。

    在承载命名空间的任何命名空间服务器上,验证是否删除 DFS 命名空间注册表配置数据。 如果在服务器上托管其他正常运行的命名空间,请确保仅删除不一致的命名空间的注册表项。 若要删除 DFS 命名空间注册表配置数据,请按照以下步骤操作:

    在注册表编辑器中,使用以下路径之一在适当的路径中找到命名空间的配置注册表项:

    "Windows Server 2008 模式" 中基于域的 DFSN

    HKEY_LOCAL_MACHINE \Software\Microsoft\Dfs\Roots\domainV2

    独立 DFSN

    HKEY_LOCAL_MACHINE \Software\Microsoft\Dfs\Roots\Standalone

    "Windows 2000 Server mode" 中基于域的 DFSN

    HKEY_LOCAL_MACHINE\Software\Microsoft\Dfs\Roots\Domain

    如果找到的注册表项与不一致的命名空间具有相同的名称,请使用 Dfsutil.exe 工具删除该注册表项。 例如,运行以下命令:

    dfsutil/clean/server: servername /share: 共享名 /verbose

    备注

    Servername 占位符是承载命名空间的服务器的名称,而 共享 名占位符是根共享的名称。

    或者,手动删除密钥。

    在命名空间服务器上,在 windows server 2003 中重新启动 DFS 服务或在 Windows Server 2008 中的 DFS 命名空间服务中注册对该服务所做的更改。

    从命名空间服务器中删除与命名空间关联的文件共享。 如果无法执行此步骤,则可能会导致重新创建命名空间失败,因为 DFS 命名空间可能会阻止命名空间创建。

    Windows Server 2003

    打开 "计算机管理" MMC 管理单元。 若要执行此操作,请运行 Compmgmt 工具。

    展开 " 系统工具 ",展开 " 共享文件夹 ",然后单击 " 共享 "。

    右键单击 "DFS 命名空间" 共享,然后单击 " 停止共享 "。 如果您收到以下错误消息,则必须重新启动服务器,然后再次尝试使用 "计算机管理" MMC 管理单元来删除共享:

    "系统无法停止共享 < \ server\share> ,因为共享文件夹是分布式文件系统 (DFS) 命名空间根目录"

    Windows Server 2008

    打开 "共享和存储管理" MMC 管理单元。 若要执行此操作,请运行 StorageMgmt 工具。

    右键单击该命名空间的共享,然后单击 " 停止共享 "。 如果您收到以下错误消息,则必须重新启动服务器,然后使用 "计算机管理" MMC 管理单元删除共享:

    系统无法停止共享 < \ server\share> ,因为共享文件夹是分布式文件系统 (DFS) 命名空间根目录

    只有在评估了所有其他恢复选项之后,才应考虑更改 DFS 命名空间配置数据。 我们建议您定期为 DFS 命名空间服务器和基于域的 DFS 命名空间的域控制器获取系统状态的备份。 这些备份可用于将命名空间配置还原为完整操作,而不会出现不一致的 DFS 命名空间配置数据的风险。

    症状和错误消息

    DFS 管理 MMC (Dfsmgmt)

    在 Dfsmgmt 工具中,您可能会收到以下错误消息:

    \\domain.com\namespace:无法查询命名空间。 找不到元素。

    您指定的服务器已承载具有此名称的命名空间。 请选择另一个命名空间名称或另一个服务器来承载命名空间。

    服务器上已存在共享文件夹名称 "namespace" 。 如果使用现有的共享文件夹,则不会应用在 "编辑设置" 对话框中指定的安全设置。 若要使用这些设置创建共享文件夹,必须先删除现有的共享文件夹。

    命名空间在创建命名空间服务器的域中不是唯一的。 您必须返回以选择新的命名空间名称,或将命名空间类型更改为独立。

    \\ domain.com \ namespace1 :无法添加命名空间服务器 \ servername \ namespace1 。 如果文件已存在,则无法创建文件。

    \\domain.com\namespace:无法查询命名空间。 系统找不到指定的文件。

    \\domain.com\namespace:无法查询命名空间。 设备未准备好使用。

    尝试删除共享时出错 。 必须先从分布式文件系统中删除共享,然后才能将其删除。

    分布式文件系统 MMC (Dfsgui)

    在 Dfsgui 工具中,您可能会收到以下错误消息:

    指定的 DFS 根目录不存在。

    DFS 根目录 "namespace1" 已存在。 请为新的 DFS 根目录提供一个不同的名称。

    在服务器 servername 上创建 DFS 根目录时发生以下错误:无法创建文件(如果该文件已存在)。

    指定的 DFS 根目录不存在。

    系统找不到指定的文件。

    Dfsutil.exe

    在 Dfsutil.exe 工具中,您可能会收到以下错误消息:

    出现系统错误1168。 找不到元素。

    Dfscmd.exe

    在 Dfscmd.exe 工具中,您可能会收到以下错误消息:

    出现系统错误1168。 找不到元素。

    出现系统错误80。 文件已存在。

    出现系统错误2。 系统找不到指定的文件。

    DFS 客户端

    在运行 DFS 客户端的计算机上,您可能会收到以下错误消息:

    Windows 找不到 " \ \ domain.com \namespace\folder"。 请确保键入的名称正确无误,然后重试。

    找不到文件。

    Windows 无法访问 " \ \ domain.com \namespace\folder"。 Check the spelling of the name. 否则,网络可能存在问题。

    其他详细信息:

    错误代码:0x80070002 系统找不到指定的文件。

    Windows 无法访问 \ \ domain.com \namespace1。 错误代码0x80070035 找不到网络路径。

    \\domain.com\namespace\folder 不可访问。 您可能没有使用此网络资源的权限。 . 找不到网络路径。

    无法从域控制器读取配置信息,可能是因为计算机不可用,或者是访问被拒绝。

    Windows 无法访问 \ \ domain.com \namespace。 Check the spelling of the name. 否则,网络可能存在问题。

    其他详细信息:

    错误代码:0x80070035 找不到网络路径。

    系统找不到指定的路径。

    展开全文
  • 本质上,DFS命名空间是为用户呈现文件服务器资源集中化视图的统一命名空间。一个DFS命名空间由很多部分组成。 1 DFS根  DFS命名空间本质上是分等级的,最顶端的是DFS根。在实际运用中,可以认为根和
  • dynamic.io 是 socket.io 服务器的一个子类,它知道如何处理多个主机名和动态创建的命名空间,这些命名空间在空闲时删除自己。 它适用于标准的 socket.io 客户端。 它还提供了一个可选的 socket.io/status 页面...
  • 下面小编就为大家带来一篇完美解决在ThinkPHP控制器中命名空间的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • c#命名空间

    千次阅读 2020-12-22 14:17:41
    System.Transactions命名空间注意:此命名空间在 .NET Framework 2.0 版中是新增的。使用 System.Transactions命名空间包含的类可以编写自己的事务应用程序和资源管理器。具体地说,可以创建和参与(与一个或多个参与...

    System.Transactions

    命名空间

    注意:此命名空间在 .NET Framework 2.0 版中是新增的。

    使用 System.Transactions

    命名空间包含的类可以编写自己的事务应用程序和资源管理器。具体地说,可以创建和参与(与一个或多个参与者)本地或分布式事务。

    System.EnterpriseServices

    命名空间

    System.EnterpriseServices

    命名空间为企业应用程序提供重要的基础结构。COM+ 为企业环境中部署的组件编程模型提供服务结构。该命名空间向 .NET 对象提供对

    COM+ 服务的访问,COM+ 服务令 .NET Framework 对象更适用于企业应用程序。

    System.Data

    命名空间

    System.Data 命名空间提供对表示 ADO.NET

    结构的类的访问。通过 ADO.NET 可以生成一些组件,用于有效管理多个数据源的数据。

    System.Data.OracleClient

    命名空间

    System.Data.OracleClient 命名空间是用于

    Oracle 的 .NET Framework 数据提供程序。

    用于 Oracle 的 .NET Framework 数据提供程序描述了用于在托管空间中访问

    Oracle 数据源的类集合。使用 OracleDataAdapter 类可以填充驻留在内存中的 DataSet,查询该数据集以及使用该数据集更新数据源。

    Accessibility

    命名空间

    Accessibility 及其公开的所有成员都属于组件对象模型

    (COM) 辅助功能接口的托管包装的一部分。

    System.Configuration

    命名空间

    System.Configuration

    命名空间包含提供用于处理配置数据的编程模型的类型

    System.Configuration.Install

    命名空间

    System.Configuration.Install

    命名空间提供类,这些类使您可以为自己的组件编写自定义安装程序。Installer

    类是 .NET Framework 中所有自定义安装程序的基类。 通过 Installer.Installers

    属性,一个安装程序可包含其他安装程序的集合作为其子级。执行安装程序时,将循环通过其子级,并调用

    System.Configuration.Install.Installer.Install、System.Configuration.Install.Installer.Commit、System.Configuration.Install.Installer.Rollback

    或 System.Configuration.Install.Installer.Uninstall。有关

    Installers 集合中对象的示例,请参见 EventLogInstaller。 Context 属性包含关于安装的信息。例如,关于安装的日志文件位置的信息,保存

    Uninstall

    方法所要求信息的文件的位置,以及运行可执行安装文件时输入的命令行。有关可执行安装文件的示例,请参见 安装程序工具

    (Installutil.exe)。

    Install、Commit、Rollback

    和 Uninstall 方法并不总是在 Installer

    的同一实例上调用。例如,可以使用某 Installer 来安装和提交应用程序,然后释放对该

    Installer 的引用。以后卸载该应用程序时将创建对

    Installer 的新引用,这意味着在 Installer

    的另一个实例上调用 Uninstall 方法。因此,不要在安装程序中保存计算机的状态。而请使用

    IDictionary,它可跨调用保留并传递给

    Install、Commit、Rollback

    和 Uninstall 方法。

    System.Deployment.Application

    命名空间

    注意:此命名空间在 .NET Framework 2.0 版中是新增的。

    使用 System.Deployment.Application

    命名空间可以将自定义升级行为编程到 ClickOnce 应用程序中。

    还可以使用 ApplicationDeployment

    根据需要下载大型文件和程序集。必须在部署的应用程序清单中将这些文件标记为“可选”,这样在安装时就不会下载这些文件了。可以通过使用

    DownloadFileGroup 或 DownloadFileGroupAsync 方法在应用程序持续时间的任意时刻下载这些文件。可以通过为 AppDomain 类的 AssemblyResolve 事件提供事件处理程序,在程序集加载到内存之前下载这些程序集。有关更多信息,请参见

    演练:在设计器中使用

    ClickOnce 部署 API 按需下载程序集。

    System.DirectoryServices

    命名空间

    System.DirectoryServices

    命名空间用以从托管代码简便地访问 Active Directory。该命名空间包含两个组件类,即 DirectoryEntry 和 DirectorySearcher,它们使用 Active Directory 服务接口 (ADSI) 技术。ADSI 是

    Microsoft 提供的一组接口,作为使用各种网络提供程序的灵活的工具。无论网络有多大,ADSI

    都可以使管理员能够相对容易地定位和管理网络上的资源。

    此命名空间中的类可以与任何 Active Directory

    服务提供程序一起使用。当前的一些提供程序包括 Internet 信息服务 (IIS)、轻量目录访问协议 (LDAP)、Novell

    NetWare 目录服务 (NDS) 和 WinNT。

    ADSI 是 Microsoft Active Directory

    的编程接口,使应用程序能够只使用一个接口就可以与网络上的不同目录进行交互。使用

    ADSI,可以创建一些应用程序,用以执行常见任务,如备份数据库、访问打印机和管理用户帐户。

    System.DirectoryServices.Protocols

    命名空间

    注意:此命名空间在 .NET Framework 2.0 版中是新增的。

    System.DirectoryServices.Protocols

    命名空间提供在轻量目录访问协议 (LDAP) 3 版 (V3) 和目录服务标记语言 (DSML) 2.0 版 (V2)

    标准中定义的方法。

    System.Runtime.Remoting

    命名空间

    System.Runtime.Remoting

    命名空间提供允许开发人员创建和配置分布式应用程序的类和接口。System.Runtime.Remoting

    命名空间的一些更重要的类是 RemotingConfiguration 类、RemotingServices

    类和 ObjRef 类。

    RemotingConfiguration

    类包含用于与配置设置衔接的静态方法。RemotingConfiguration.Configure

    方法允许开发人员通过使用 XML

    格式化配置文件来配置远程处理基础结构。RemotingConfiguration

    类还包含若干在客户端和服务器端注册驻留在服务器上的客户端激活对象和服务器端激活对象的方法。

    RemotingServices

    类提供若干帮助使用和发布远程对象的方法。System.Runtime.Remoting.RemotingServices.Marshal

    方法提供在 ObjRef

    类的实例中存储激活远程对象并与之通信所需的所有相关信息供以后序列化和传输到远程位置使用的功能。System.Runtime.Remoting.RemotingServices.Unmarshal

    方法反转此过程,为远程对象创建可由应用程序使用的代理,不考虑任何远程处理分支。

    ObjRef

    类保存激活远程对象并与之通信所需的所有相关信息。该类是通过信道传输到远程位置的对象的序列化表示形式,在信道中它被取消封送(请参见

    Unmarshal)并可用于创建远程对象的本地代理。

    System.Runtime.Serialization.Formatters.Soap

    命名空间

    System.Runtime.Serialization.Formatters.Soap

    命名空间包含 SoapFormatter 类,该类可用于以 SOAP

    格式将对象序列化和反序列化。生成使用此命名空间中的类型的应用程序时,必须引用

    System.Runtime.Serialization.Formatters.Soap.dll 程序集。

    以 SOAP 格式将对象或整个连接对象的图形序列化和反序列化。

    System.Security

    命名空间

    System.Security

    命名空间提供公共语言运行库安全系统的基础结构,包括权限的基类。

    System.ServiceProcess

    命名空间

    System.ServiceProcess

    命名空间提供用于实现、安装和控制 Windows 服务应用程序的类。服务是长期运行的可执行文件,其运行没有用户界面。实现服务包括从

    ServiceBase

    类继承,也包括定义在传入开始、停止、暂停和继续命令时所处理的特定行为以及定义在系统关闭时所执行的自定义行为和操作。

    服务是使用安装实用工具(例如

    InstallUtil.exe)安装的。System.ServiceProcess

    命名空间提供安装类,该类将服务信息写入注册表。ServiceProcessInstaller

    类提供一个包含类,该类安装安装中所有服务所共有的组件。对于每个服务,您创建 ServiceInstaller 类的实例以安装服务特定的功能。

    ServiceController

    类使您可以连接到现有的服务并对其进行操作或获取有关它的信息。该类通常用于管理功能,使您可以对服务启动、停止、暂停、继续或执行自定义命令。ServiceBase

    类定义当命令发生时服务所执行的处理,而 ServiceController

    是使您可以对服务调用这些命令的代理。

    System.Web.RegularExpressions

    命名空间

    System.Web.RegularExpressions

    命名空间提供用于分析 ASP.NET

    文件的正则表达式。System.Web.RegularExpressions 命名空间的所有成员都是

    Regex 类的子代。

    展开全文
  • 近年,微软对其分布式文件系统(Distributed File System,DFS)做了很多改良,其中的一项技术对文件系统资源提供...这样的结果是你可以添加文件服务器到网络或者不用影响用户访问文件的方式就能强化现有的文件服务器
  • Django应用命名空间与实例命名空间

    千次阅读 2019-02-13 00:49:23
    一、为什么需要url命名? 因为url是经常变化的。如果在代码中写死可能会经常改代码。给url取个名字,以后使用url的时候就使用他的名字进行反转就可以了,就不需要写死url了。 需求:访问app主页,如果没登录则自动...

    一、为什么需要url命名?

    因为url是经常变化的。如果在代码中写死可能会经常改代码。给url取个名字,以后使用url的时候就使用他的名字进行反转就可以了,就不需要写死url了。

    需求:访问app主页,如果没登录则自动跳转至登录页面,已经登录则留在app主页。

    项目下创建两个app:

    django-admin startapp app01
    django-admin startapp app02
    

    项目的settings.py中添加这两个应用:

    INSTALLED_APPS = [
    	...
        'apps.app01',
        'apps.app02'
    ]
    

    项目的urls.py中添加URL映射:

    from django.urls import path, include
    
    urlpatterns = [
        ...
        path('app01/', include('apps.app01.urls')),
        path('app02/', include('apps.app02.urls')),
    ]
    

    app01和app02分别新建urls.py并配置:

    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('', views.index),
        path('signin/', views.login),
    ]
    

    app01和app02的views.py中:

    # 以下是app01/views.py
    from django.http import HttpResponse
    from django.shortcuts import redirect
    
    
    def index(request):
        username = request.GET.get('username')
        if username:
            return HttpResponse('app01首页')
        else:
            return redirect('./login/')
        
    
    def login(request):
        return HttpResponse('app01登录页面')
    
    # 以下是app02/views.py
    from django.http import HttpResponse
    from django.shortcuts import redirect
    
    
    def index(request):
        username = request.GET.get('username')
        if username:
            return HttpResponse('app02首页')
        else:
            return redirect('./login/')
        
    
    def login(request):
        return HttpResponse('app02登录页面')
    

    启动服务:

    python manage.py runserver
    

    访问 http://127.0.0.1:8000/app01?username='onefine'
    在这里插入图片描述

    访问 http://127.0.0.1:8000/app02?username='onefine'
    在这里插入图片描述

    访问 http://127.0.0.1:8000/app01/
    在这里插入图片描述

    访问 http://127.0.0.1:8000/app02/
    在这里插入图片描述

    一切正常!

    现在有了新的需求:登录时的url由login变为signin。在目前的项目中,更改需要涉及四个文件…额…


    现在采用url命名来防止这种需求。

    二、如何给一个url指定名称?

    path函数中,传递一个name参数就可以指定。

    path('', views.index, name='index')
    

    app01和app02下的urls.py配置:

    urlpatterns = [
        path('', views.index, name="index"),
        path('signin/', views.login, name="login"),
    ]
    

    app01和app02的views.py中:

    # 以下是app01/views.py
    from django.http import HttpResponse
    from django.shortcuts import redirect, reverse
    
    
    def index(request):
        username = request.GET.get('username')
        if username:
            return HttpResponse('app01首页')
        else:
        	# url反转,url重定向
            return redirect(reverse('login'))
    
    
    def login(request):
        return HttpResponse('app01登录页面')
    
    
    # 以下是app02/views.py
    from django.http import HttpResponse
    from django.shortcuts import redirect, reverse
    
    
    def index(request):
        username = request.GET.get('username')
        if username:
            return HttpResponse('app02首页')
        else:
            return redirect(reverse('login'))
    
    
    def login(request):
        return HttpResponse('app02登录页面')
    

    重新启动服务器,输入 http://127.0.0.1:8000/app02
    在这里插入图片描述

    输入 http://127.0.0.1:8000/app01
    在这里插入图片描述

    你没看错,它确实跳转的是app2下面的signin,这是怎么回事呢?


    三、应用(app)命名空间:

    在多个app之间,有可能产生同名的url。这时候为了避免反转url的时候产生混淆,可以使用应用命名空间,来做区分。定义应用命名空间非常简单,只要在appurls.py中定义一个叫做app_name的变量,来指定这个应用的命名空间即可。

    app01下的urls.py配置,app02类似:

    from django.urls import path
    from . import views
    
    # 应用命名空间
    app_name = 'app01'
    
    urlpatterns = [
        path('', views.index, name="index"),
        path('signin/', views.login, name="login"),
    ]
    

    以后在做反转的时候就可以使用应用命名空间:url名称的方式进行反转。

    app01的views.py中,app02类似:

    from django.http import HttpResponse
    from django.shortcuts import redirect, reverse
    
    
    def index(request):
        username = request.GET.get('username')
        if username:
            return HttpResponse('app01首页')
        else:
            return redirect(reverse('app01:login'))
    
    
    def login(request):
        return HttpResponse('app01登录页面')
    

    好了,完美贴合需求。


    四、实例命名空间:

    一个app可以创建多个实例。可以使用多个url映射到同一个app。这就会产生一个问题:以后在做反转的时候,如果使用应用命名空间,那么就会发生混淆。

    项目下urls.py文件:

    urlpatterns = [
        path('app01/', include('apps.app01.urls')),
        path('app02/', include('apps.app02.urls')),
    	
    	# 新添加的
        path('app03/', include('apps.app01.urls')),
    ]
    

    重启服务访问 http://127.0.0.1:8000/app03
    在这里插入图片描述

    还真是脆弱。。。


    为了避免这个问题。我们可以使用实例命名空间。实例命名空间只要在include函数中传递一个namespace变量即可。

    项目下urls.py文件:

    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        # re_path(r'^$', views.index),
    	path('app01/', include('apps.app01.urls', namespace='app01')),
        path('app02/', include('apps.app02.urls', namespace='app02')),
    	
    	# 同一个app下的第二个实例,实例命名空间
        path('app03/', include('apps.app01.urls'), namespace='app03'),
    ]
    

    以后在做反转的时候,就可以根据实例命名空间来指定具体的url。

    app01下的views.py,app02类似:

    from django.http import HttpResponse
    from django.shortcuts import redirect, reverse
    
    
    def index(request):
        username = request.GET.get('username')
        if username:
            return HttpResponse('app01首页')
        else:
        	# 获取当前实例的命名空间
            current_namespace = request.resolver_match.namespace
            return redirect(reverse('%s:login' % current_namespace))
    
    
    def login(request):
        return HttpResponse('app01登录页面')
    
    

    输入http://127.0.0.1:8000/app03/
    在这里插入图片描述

    输入 http://127.0.0.1:8000/app03?username='onefine'

    在这里插入图片描述

    欣慰!

    注意:在使用实例命名空间之前,必须先指定一个应用命名空间——在子url.py中添加app_name变量。

    'Specifying a namespace in include() without providing an app_name ’
    django.core.exceptions.ImproperlyConfigured: Specifying a namespace in include() without providing an app_name is not supported. Set the app_name attribute in the included module, or pass a 2-tuple containing the list of patterns and app_name instead.


    展开全文
  • 很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,...
  • soap的命名空间

    千次阅读 2017-06-06 17:13:28
    SOAP 命名空间 URI 要求 命名空间 URI 为给定的 SOAP 操作指定用于组成 SOAP 请求封装的 XML 命名空间。如果命名空间 URI 未被定义,将使用 URL 子句中的域组件。服务器端的 SOAP 处理器使用此 URI 来了解请求的...
  • Socket.io中的命名空间

    千次阅读 2022-01-27 10:19:08
    什么是Socket.io中的命名空间? 所谓的命名空间,在一个域中发消息,只有当前的域的socket能够收到消息,其他域的消息则不能。 服务端:通过io.of创建命名空间。 服务端进行广播的时候,也需要使用命名空间。 ...
  • 1、什么是命名空间命名空间设计目的是提供一种让一组名称与其他名称分隔开的方式。在一个命名空间中声明的类的名称与另一个命名空间中声明的相同的类的名称不冲突。 我们举一个计算机系统中的例子,一个...
  • C#常用命名空间

    千次阅读 2017-09-15 17:52:46
    C#常用命名空间 一、基础命名空间 System 处理内建数据、数学计算、随机数的产生、环境变量、垃圾回收器及一些常见的异常和特征. System.Collections 包含了一些与集合相关...
  • nacos命名空间namespace用法

    万次阅读 2021-01-24 23:20:24
    nacos用作注册中心时,增加一个命名空间namespace的概念,可以用一套nacos注册中心去管理多套不同的环境服务器,此时的nacos显然一个平台的概念了。 nacos命名空间使用 1、创建命名空间 打开nacos控制台,点击...
  • 3. DFS命名空间+DFS复制 17 3.1. 简介 17 3.2. 策略 17 3.3. 注意事项 18 3.4. 安装步骤 18 3.5. 新建命名空间 19 3.6. 新建共享文件 23 3.7. 新建复制组 30 4. 总结 34 5. 疑难杂症 35 5.1. DFS服务在 AD初始化完毕...
  • .Net命名空间使用介绍

    千次阅读 2018-02-27 10:47:21
    复制地址:http://blog.csdn.net/chelen_jak/article/details/7703144.NET命名空间使用介绍 在ASP.NET中,.NET Framework为我们提供了丰富的基类,为了能在程序中引用这些基类,我们必须先引用这些基类的命名空间。...
  • socket.io入门之命名空间多路复用

    千次阅读 2022-02-01 21:12:52
    在socket.io中,如果客户端一次连接了不同的命名空间 则只会使用一个websocket连接,这叫做多路复用 以下服务器代码中创建了两个namespace,/user和/order const { createServer } = require("http") const { ...
  • 1、创建命名空间 默认只有public,新建了dev、test和prod命名空间 2、克隆配置 (1)切换到配置列表: 可以发现有四个名称空间:**public(默认)**以及我们自己添加的3个名称空间(prod、dev、test),可以点击...
  • nacos命名空间,组和集群的隔离。

    千次阅读 2022-01-21 11:32:08
    nacos的多人协同开发情况下,服务和配置的隔离。部分服务调用服务器上,开发的微服务调用本地的。互不影响
  • ROS之命名空间

    千次阅读 多人点赞 2017-07-21 17:02:24
    已经学ROS快两个月了,一开始对ROS 命名空间,参数,参数服务器,重映射没认真看,后来发现很重要,它是学习ROS代码的基础。我们都知道ros以topic通信,但是只靠topic通信是远远不够的,于是使用客服端服务器、...
  • 集群范围资源(例如节点,即node) 非资源类型endpoint(例如”/healthz”) 跨所有命名空间命名空间范围资源(例如pod,需要运行命令kubectl get pods --all-namespaces来查询集群中所有的pod) 下面示例中的...
  • .NET4.0缺少System.Net.Http组件 1.问题描述 2.原因分析 3.解决方案 1.问题描述 CAD2016开发好的代码降至CAD2012编译时,由于在CAD2016(.NET4.5)中引用了System... 2....using System.Net.Http, 依旧可以正常访问服务器
  • socket.io命名空间的详细解析

    千次阅读 2017-09-20 17:29:08
    所谓命名空间,就是指在不同的域当中发消息只能给当前的域的socket收到。 下面来看一个实例。 看下客户端的代码:<script src="/socket.io/socket.io.js"></script> var chat = io.connect('...
  • springcloud nacos命名空间、动态配置

    千次阅读 2019-10-22 18:50:21
    spring cloud 集成 nacos(单机版),上一篇已说明,在这里就不做重复说明,以下直接是nacos命名空间和配置在springcloud中的使用。 1、nacos创建Test命名空间,创建完成后,列表中多了一条Test记录 2、配置...
  • https://jingyan.baidu.com/article/d45ad148ef5cc669552b80d9.html
  • ASP.NET的命名空间

    千次阅读 2017-03-17 09:08:18
    ASP.NET的命名空间  命名空间(namespace)  ASP.NET中的各种语言使用的一种代码组织的形式。  通过命名空间来分类,区别不同的代码功能,也是ASP.NET中所有类的完全名称的一部分。  命名空间不过是数据类型的...
  • 文章目录查看所有的Pod查看所有的deployment查看所有namespace对应的Pod...在默认的命名空间namespace中查看所有的Pod显示没有找到,加入-A参数表示查看所有命名空间(namesqpace)上的Pod。 查看所有的Pod [root@...
  • ROS中的命名空间 我们首先要了解一下路径的各个部分所代表的含义: ① 以话题为例,三级路径: ② 以节点为例,共有二级路径: ③ 以参数为例,共有三级路径: ROS中的命名空间分为三种:全局、相对、...
  • 1、创建命名空间 新建一个创建命名空间的yaml文件: vim namespaces.yaml set paste一下内容 apiVersion: v1 kind: Namespace metadata: name: paas-cloud labels: name: paas-cloud --- apiVersion...
  • zookeeper 一 : 客户端命名空间

    千次阅读 2017-08-11 10:32:58
    如果一个zookeeper客户端设置了Chroot,那么该客户端对服务器的任何操作,都将会被限制在自己的命名空间下。客户端可以通过在connectString中添加后缀的方式来设置Chroot,如下所示: 192.168.0.1:2181,192.168....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 255,861
精华内容 102,344
关键字:

命名空间服务器