热搜词: 

aspnet怎么实现前后端分离,数据库的物理文件名怎么设置

发布:小编

本文目录

数据库的物理文件名怎么设置

我相信大家在使用SQLServer2005时一定碰到过修改完数据库文件名后,物理文件名没有修改成功,还是原来的文件名,无论是给别人数据库还是自己看着感觉一定都很不爽,下面我就此问题的处理方法给大家列出一个解决法,希望能对您能有所帮助.操作步骤:1.将现有的数据库名称修改成您所要的.2.备份您的数据库到一个固定的位置.3.右击您要操作的数据库,选择Tasks->Restore->Database,打开"RestoreDatabase"窗口4.选择左边的"Options",打开数据库选项.5.在"Restore修改数据库的文件名和逻辑名1、修改数据库的逻辑名,可以在sqlserver的客户端操作:右击数据库,选择重命名,就可以修改逻辑名或者通过下面的SQL语句来修改alterdatabaseWeb2ASPNET2DBmodifyname=ERayMailTest2、修改数据库的文件名的步骤1)分离数据库2)将分离的数据库的文件名,改成新的文件名,如原来的文件名是:test1.mdf,test1_log.ldf就改成新的文件名test2.mdf和test2_log.ldf3)附加到数据库中,在附加的过程中,注意修改下数据库详细信息的当前的路径,也要检查下MDF的路径是否正确,在上面都正确的前提下,一般是能附加成功的用过MSSQL的用户可能都知道,当把原来的数据库为A.BAK还原为B数据库时,名称虽然是变了,可逻辑文件名依然是A,多少让我看到不爽,网上大佬们也说了很多用语句的,可我试了不行,只是:execsp_renamedb'旧库名','新库名'数据库名称可以改,物理文件名(逻辑名)不可以改。可我用了最各简单的方法:属性——文件——逻辑名一切OKSQLServer更改数据库名称、更改逻辑文件名Postedon2008-05-1013:40Smthhy阅读(2074)评论(0)编辑收藏所属分类:Sql今天在备份一数据库还原给另一数据库时,发现还原不了,看了下原数据库的逻辑文件名和物理文件名不一致,现以下方法可更改文件名的一致。在SQLServer的企业管理器中,似乎不能直接更改数据库名称,如果要更改,最方便的是在查询分析器中运行:alterdatabase原数据库名称modifyname=新数据库名称SQLServer中,数据库还原时可以更改物理文件名,也可以分离数据库,直接更改mdf的文件名再附加,但更改逻辑文件名似乎不那么直观。在查询分析器里运行:alterdatabase数据库名称modifyfile(name=原逻辑文件名,newname=新逻辑文件名)这样就可以更改逻辑文件名了,由于SQLServer有数据文件和日志文件,所以数据文件和日志文件的逻辑文件名都要更改的话,就得写两个类似于上述的语句。

aspnet前端调用数据库数据

直接将样式控制放在单个HTML元素内,称为内联式或行内样式。该样式通过style属性来控制每个元素的外观,直观但是很繁琐。除非具有相同样式的元素较少,否则很少采用。 在网页的head部分定义或导入的样式,称为级联式样式。该样式可以实现将网页结构和表现分离,这样,当修改某些元素的样式时,只需要修改head部分定义或引入的样式

用axios怎样解决共享session的问题

方法/步骤

1

客户端SessionID值唯一;

对于不同的域名:主域名、子域名、跨站点域名或跨服务器域名,用户在打开页面时会产生不同的SessionID

为了使这些站点在用户登录时只登录一次,那我们就要解决SessionID的问题,必须使SessionID在这些共享Session的站点中只产生一次。而SessionID是存储在客户端的COOKIE之中键值为ASP.NET_SessionId的一个字符串(也可以存储在URL中,这里不作使介绍),为此只须使各站点存储的SP.NET_SessionId唯一即可。

2

因每个客户端在打开时会产生一个SessionID,为此我们要做的就是重置SessionID。我们可以在继承HttpModule,在结束请求时重写SessionID。

为使用以上代码,须配置下面节点项。

3

Session值的共享;

配置sessionState置节点,使用StateServer或SQLServer来实现Session共享。

为实现跨服务器共享,必须在Web.config配置:

并且,不同服务器上站点配置必须用相同的Web.config,各站点目录配置也要相同。

4

使用StateServer:

存储Session的服务器必须开启StateServer:ASP.NET状态服务。只有机器重起的情况下才导致Session丢失。

若StateServer在本机存储,则IpAddress为:127.0.0.1;若StateServer为远程服务器,则为IpAddress为远程服务器IP地址,并且修改注册表项如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters]

"Port"=dword:0000a5b8

"AllowRemoteConnection"=dword:00000001

5

使用SQLServer:

必须开启SQLServer代理服务,此服务负责清除过期的Session,若没有开服务,则Session不会过期。

使用SQLServer在机器重启后Session不会丢失。

Web.config配置:

6

数据库配置:

使用aspnet_regsql.exe工具

ASP.NET 2.0版本后微软提供了aspnet_regsql.exe工具可以方便的配置Session数据库.该工具位于 Web 服务器上的"系统根目录\Microsoft.NET\Framework\版本号"文件夹中.

使用举例:

aspnet_regsql.exe -S . -U sa -P 123456 -ssadd -sstype p

-S参数:

表示数据库实例名称. 可以用"."表示本机.

-U和-P参数:

表示用户名和密码.

-E参数:

可以再-U –P 与 -E中选择一组. –E表示以当前系统用户通过windows身份验证登录数据库, -U -P则是使用SqlServer用户登录数据库.

-ssadd / –ssremove 参数:

-ssadd表示是添加Session数据库, -ssremove表示移除Session数据库.

sstype 参数说明:

t

将会话数据存储到 SQL Server tempdb 数据库中。这是默认设置。如果将会话数据存储到 tempdb 数据库中,则在重新启动 SQL Server 时将丢失会话数据。

p

将会话数据存储到 ASPState 数据库中,而不是存储到 tempdb 数据库中。

c

将会话数据存储到自定义数据库中。如果指定 c 选项,则还必须使用 -d 选项包括自定义数据库的名称。

sessionState参数说明:

属性

说明

allowCustomSqlDatabase

可选的 Boolean 属性。

指定会话状态 SQL 数据库是否可以是自定义数据库(而不是 ASP.NET 默认数据库)。如果为 false,则不能指定初始目录或数据库作为 sqlConnectionString 属性的值。默认会话状态 SQL 数据库为 ASPState 数据库。有关更多信息,请参见会话状态模式。

此属性是 .NET Framework 2.0 版中的新属性。

默认值为 false。

COOKIEless

可选的 HttpCOOKIEMode 属性。

指定对于 Web 应用程序使用 COOKIE 的方式。

COOKIEless 属性可以为下列可能值之一。默认值为 UseCOOKIEs。

说明

AutoDetect

ASP.NET 确定请求浏览器或请求设备是否支持 COOKIE。如果请求浏览器或请求设备支持 COOKIE,则 AutoDetect 使用 COOKIE 来保留用户数据;否则,将在查询字符串中使用一个标识符。如果浏览器或设备支持 COOKIE,但当前禁用了 COOKIE,则请求功能仍会使用 COOKIE。

UseCOOKIEs

无论浏览器或设备是否支持 COOKIE,都使用 COOKIE 来保留用户数据。

UseDeviceProfile

ASP.NET 根据 HttpBrowserCapabilities 设置来确定是否使用 COOKIE。如果 HttpBrowserCapabilities 设置指示浏览器或设备支持 COOKIE,将使用 COOKIE;否则,将在查询字符串中使用一个标识符。

UseUri

无论浏览器或设备是否支持 COOKIE,调用功能都使用查询字符串来存储标识符。

COOKIEName

可选的 String 属性。

指定存储会话标识符的 COOKIE 的名称。

此属性是 .NET Framework 2.0 版中的新属性。

默认值为 "ASP.NET_SessionId"。

customProvider

可选的 String 属性。

指定用于存储和检索会话状态数据的自定义会话状态提供程序的名称。该提供程序在 providers 元素中指定。仅当会话状态模式设置为 Custom 值时,才使用该提供程序。有关更多信息,请参见会话状态模式。

此属性是 .NET Framework 2.0 版中的新属性。

默认值为空字符串 ("")。

mode

可选的 SessionStateMode 属性。

指定存储会话状态值的位置。有关更多信息,请参见会话状态模式。

mode 属性可以为下列可能值之一。默认值为 InProc。

说明

Custom

会话状态将使用自定义数据存储区来存储会话状态信息。

InProc

会话处于正在处理 ASP.NET 辅助进程的状态。

Off

会话状态被禁用。

SQLServer

会话状态将使用进程外 SQL Server 数据库来存储状态信息。

StateServer

会话状态将使用进程外 ASP.NET 状态服务来存储状态信息。

partitionResolverType

可选的 String 属性。

指定在哪里存储会话状态。如果 partitionResolverType 属性中指定了值,则忽略 sqlConnectionString 和 stateConnectionString 属性。PartitionResolverType 属性返回的连接字符串将用于每个请求,为请求的其余部分连接到适当的服务器位置。如果连接字符串无效,ASP.NET 将引发一个异常,该异常与当配置的服务器连接字符串无效时引发的异常相同。该属性用于在 SQL 或状态服务器模式下在多个后端节点上划分会话状态数据。

此属性是 .NET Framework 2.0 版中的新属性。

默认值为空字符串。

regenerateExpiredSessionId

可选的 Boolean 属性。

指定当客户端指定了过期的会话 ID 时是否重新发出会话 ID。默认情况下,当启用了 regenerateExpiredSessionId 时,仅为 COOKIEless 模式重新发出会话 ID。有关更多信息,请参见 IsCOOKIEless。

此属性是 .NET Framework 2.0 版中的新属性。

默认值为 true。

sqlCommandTimeout

可选的 TimeSpan 属性。

指定使用 SQL Server 会话状态模式的 SQL 命令的持续时间超时(秒)。持续时间超时是 SQL 命令可以处于空闲状态的时间(秒),超过此时间之后,该命令将被取消。

此属性是 .NET Framework 2.0 版中的新属性。

默认值为 0:00:30(30 秒)。

sqlConnectionString

可选的 String 属性。

为运行 SQL Server 的计算机指定连接字符串。该属性在 mode 属性设置为 SQLServer 值时是必需的。有关更多信息,请参见会话状态模式。

注意

若要在使用 SQLServer 模式时提高您的应用程序的安全性,请使用受保护的配置来加密配置的 sessionState 节,以帮助保护 sqlConnectionString 值。

默认值为 "data source=127.0.0.1;Integrated Security=SSPI"。

stateConnectionString

可选的 String 属性。

指定远程存储会话状态的服务器名称或地址以及端口。端口值必须为 42424。当 mode 为 StateServer 值时,该属性是必需的。确保运行 ASP.NET 状态服务的服务器是存储会话状态信息的远程服务器。该服务随 ASP.NET 一起安装,默认情况下为 %SystemRoot%\Microsoft.NET\Framework\VersionNumber\aspnet_state.exe。有关更多信息,请参见会话状态模式。

注意

若要在使用 StateServer 模式时提高您的应用程序的安全性,请使用受保护的配置来加密配置的 节,以帮助保护 stateConnectionString 值。

默认值为 "tcpip=127.0.0.1:42424"。

stateNetworkTimeout

可选的 TimeSpan 属性。

指定 Web 服务器与状态服务器之间的 TCP/IP 网络连接可以处于空闲状态的时间(秒),超过此时间后,请求将被取消。该属性在 mode 属性设置为 StateServer 值时使用。

默认值为 10 秒。

timeout

可选的 TimeSpan 属性。

指定在放弃一个会话前该会话可以处于空闲状态的分钟数。对于进程内和状态服务器模式,timeout 属性不能设置为大于 525,601 分钟(1 年)的值。

会话 timeout 配置设置仅适用于 ASP.NET 页。更改会话 timeout 值不会影响 ASP 页的会话超时时间。同样,更改 ASP 页的会话超时时间不会影响 ASP.NET 页的会话超时时间。

默认值为 20 分钟。

useHostingIdentity

7

可选的 TimeSpan 属性。

指定在放弃一个会话前该会话可以处于空闲状态的分钟数。对于进程内和状态服务器模式,timeout 属性不能设置为大于 525,601 分钟(1 年)的值。

会话 timeout 配置设置仅适用于 ASP.NET 页。更改会话 timeout 值不会影响 ASP 页的会话超时时间。同样,更改 ASP 页的会话超时时间不会影响 ASP.NET 页的会话超时时间。

默认值为 20 分钟。

useHostingIdentity

可选的 Boolean 属性。

指定会话状态将恢复为宿主标识还是使用客户端模拟。

如果为 true,ASP.NET 将使用下列进程凭据之一来连接会话状态存储区:

宿主进程;对于 Microsoft Internet 信息服务 [IIS] 5 和 5.1 版为 ASPNET,对于 Microsoft Windows Server 2003 则为 NETWORK SERVICE。

应用程序模拟标识,当使用了以下配置时使用此凭据:

如果为 false,ASP.NET 将使用目前与当前请求的操作系统线程关联的凭据来连接会话状态存储区。对于客户端模拟,ASP.NET 将使用与浏览器协商的安全凭据来连接会话状态存储区。如果为 false,ASP.NET 在连接会话状态存储区时不会恢复为进程标识或应用程序模拟标识。有关更多信息,请参见 ASP.NET 模拟。

此属性是 .NET Framework 2.0 版中的新属性。

默认值为 true。

注意

在 .NET Framework 1.1 版中,如果 mode 属性设置为 SQLServer,并且客户端模拟有效,则 ASP.NET 使用来自 ASP.NET 客户端模拟的客户端凭据连接到运行 SQL Server 的计算机。

继承的属性

可选的属性。

由所有节元素继承的属性。

asp.net web开发技术

先简单回顾下asp.net过去十年

mvc流行前

asp.net的服务端控件,将html和js一起封装,很多客户端事件自动通过生成的js将数据重新post回服务端。而对于很多刚入门的小伙伴来说,仅仅靠拖放控件和写C#代码就可以实现一个可用的Web项目,大大降低了入门门槛。相应的,服务端控件这种过度耦合的设计带来了很多缺点:自定义控制难,难以纯粹将前后端分离,导致asp.net从业人员既不能精通前段技术,又不能涉猎更多的后端技术(生态问题)。

这个年代,.net被贴上了“拖放控件”的标签。

mvc流行后

微软推出了asp.netmvc,很多公司已经开始尝试前后端分离。就模式上面来说,已经和其它语言平台基于mvc的web项目开发模式无异。

但是asp.net本身的服务框架太杂乱,尤其是艰难(如果你留意过,甚至可以说难产)支持asyncawait异步编程后,他的同步上下文模型缺点太大:首先是源码的结构混乱,其次是使用过程很多人容易造成死锁,异步方法使用不当导致请求已返回上下文已释放然后找不到同步对象导致的异常。问题的根源是大部分程序员对线程了解不深,如果项目有正确的规范用法还好,一旦没有,产生异常很多人根本不知道问题出在哪里。博客园改造过程中就出现过的死锁,有兴趣的可以去看看博客园官方博客写过。

aspnetcore

新应用程序模型设计和代码实现,我非常喜欢。其它的不说,看看那简洁的Reqeust和Response对象,是不是就会让你欣喜?再看看中间件管道,上下文(Context)通过委托链链一路传递,再也不用晦涩的同步上下文,也移除了和Windows安全相关的特征。

整个架构更加清晰,喜欢做扩展的人绝对会有一日看尽长安花的快感。

net生态

拥抱开源后,netcore,standard,aspnetcore,efcore等一系列实现全部都有了,明年的netcore3.0还会包含客户端模型(wpf和winform,只能在windows下使用)。

github上面aspnet,dotnet,dotnet-architecture等分支包含大量微软直接维护的开源项目。

开源社区大部分的项目已经跟进将三方组件基于standard标准打包。

微软也久违地把散乱的文档汇集到docs子域名下

万事剧本,就欠生态!如果apache基金会下面的重要项目都有.net的分支,相信依靠netcore必定可以再次抢占不少的份额。

前景

微服务流行后,其实内部可以混合多种平台提供服务,用aspnetcore做对三方组件需求不太大的业务服务是完全的可以的,基于微软一贯的作风,开发效率是很高的。

其实现在很多内部系统在用.net,只是面向互联网相关的项目,更加需求丰富的三方资源,采用.net的比较少。不过很多大的公司都有.net的分支团队。毕竟在桌面和开发效率上的优势,还是有他存在的价值。

aspnet到底会如何发展,个人感觉还是要看社区的反应,要看生态是否能逐步丰富起来。

看在微软这么努力的份上,个人挺希望他能够扳回一局。

所以?

眼光放长远一点,平台只是我们的工具,一个IT人不应当把自己的技术范围限定到某一个平台。多学多积累,实际项目中应该针对需求、架构以及团队做出选择。

比如Java和.net同时掌握,各取所长,基于他们重叠性较高的原因,学习成本并不高。何况绝大部分的知识和平台并无关系。

个人见解纯手打,欢迎大家评论或者提出意见。

以上就是关于aspnet怎么实现前后端分离,数据库的物理文件名怎么设置的全部内容,以及aspnet怎么实现前后端分离的相关内容,希望能够帮到您。

大家都在看

查看更多综合百科