[Q&A]VS 2012 MVC4专案与网站的差异?「ASP.NET组态」的Login账号出现在「新旧两组」会员数据库里面?
原文出處 http://www.dotblogs.com.tw/mis2000lab/archive/2013/08/30/mvc4_vs2012_login_member_db.aspx
原本是在MSDN论坛上看见的问题
因为写书过程中也遇见了,不能解。
就发信请微软技术支持团队帮忙
隔了很久,他们很热心地追踪这个问题,也一直来电讨论、报告进度。
希望这份问与答,对大家有帮助。
让这份信息分享出来,能发挥更多力量。
==================================================================================
问题定义:
使用Win 7 + VS 2012 Ultimate (Update 2版) + SQL 2012 Express(SP1),选取ASP.NET MVC 4 专案(Project),完整专案(不是「空」专案)。
点选上方「专案」Menu =>「 ASP.NET组态」,设定Login会员数据库。
在「 ASP.NET组态」网页画面上,加入账号、群组(角色)之后,
[问题一]:我发现项目的/bin目录下,竟然出现旧版的ASPNETDB.MDF数据库档案。
而非 Web.config文件里面,预设的联机字符串(应该使用SQL 2012 Express版的LocalDB才对)。理论上,应该是aspnet-WebSite3-20130507194034.mdf档案。
<connectionStrings>
<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-WebSite3-20130507194034;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-WebSite3-20130507194034.mdf" />
</connectionStrings>
[问题二]:此时,我按下上方的绿色三角按钮(Play)建构专案。
预设的ASP.NET MVC 4项目,执行成果(网页右上方)会有「注册」功能。
我注册一个新的账号以后,很奇怪的!这个账号却会跑进SQL 2012 LocalDB里面。也就是aspnet-WebSite3-20130507194034.mdf。
综合上面两个问题,我在同一个MVC 4「项目」里面,产生的 Login会员数据,
却分别存于/bin目录下「两套」数据库里面。
似乎不合理。
....................................................................
我自己测试:
(1). 打开一个「网站」,ASP.NET MVC4的网站,就不会有这样的错误了。也就是错误只发生在「项目」里面。
(2).在「项目」里面,即使我设定了 C:\Windows\Microsoft.NET目录下的 aspnet_regsql.exe,输入SQL 2012的LocalDB连结字符串(如(LocalDb)\v11.0),仍无法把上面(问题一)的Login数据库导回SQL 2012 LocalDB里面,一样会出现「项目」的 /bin目录下--两套数据库档案,分别存放不同的登入账号。
因为MVC 4项目太大,无法上传给您参考。
我并没有撰写新的程序代码,只是「新增」一个MVC 4项目,就发现问题了。VB / C#两种语法都测试过。
P.S. 从VS 2012 、Update 1~3版都有一样的情况。
==================================================================================
问题分析:
因为Visual Studio 2012在安装的时候,会将LocalDB的功能也一同安装进去,让在没有安装SQL Express 2012的环境也能使用这个功能。
另外,ASP.NET Configuration开启的是C:\Windows\Microsoft.NET\Framework\v4.0.30319\ASP.NETWebAdminFiles底下的网站:
他会读取C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config里面的连接字符串设定:
<connectionStrings>
<add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
</connectionStrings>
这个部分和MVC4项目web.config使用的连接字符串是不同的:
<connectionStrings>
<add name="LocalSqlServer" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcApplication2-20130517155009;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-MvcApplication2-20130517155009.mdf" providerName="System.Data.SqlClient" />
</connectionStrings>
这是导致项目底下出现 旧版aspnetdb.mdf的主因。
[Q&A]VS 2012 MVC4专案与网站的差异?「ASP.NET组态」的Login账号出现在「新旧两组」会员数据库里面?的更多相关文章
- visual studio 2012打开提示 未能将网站×××配置为使用 ASP.NET 4.5 和 尚未在Web服务器上注册,您需要手动将Web服务器配置为使用ASP.NET 4.5
未能将网站×××配置为使用 ASP.NET 4.5.为了使此网站正确运行,您必须将它手动配置为使用ASP.NET 4.5. ASP.NET 4.5尚未在Web服务器上注册,您需要手动将Web服务器配置 ...
- Asp.Net MVC4开发二: Entity Framework在Asp.Net MVC4中的应用
ORM作为一种数据库訪问机制已广泛地应用于各种项目其中,在.Net开发中,应用比較广泛的ORM框架大致有以下几个: 官方支持的有:Linq to SQL.Entity Framework.三方的有:N ...
- 目前网络上大部分的网站都是由ASP或PHP开发,并且java平台的软件购买成本不适合中小企业客户,一般适用于银行、国家安全等行业领域
目前网络上大部分的网站都是由ASP或PHP开发,并且java平台的软件购买成本不适合中小企业客户,一般适用于银行.国家安全等行业领域. 要求建设开发大型复杂的网站,但仅有一个idea,不能够提供网站详 ...
- 我在开发网站后得出的asp.Net网站优化总结
原文:我在开发网站后得出的asp.Net网站优化总结 asp.Net网站优化总结: 1.数据库优化: 首先是对查询语句的优化,开发时为了图快可以不考虑,但是后期维护时就必须要优化(比如:你调用代码生成 ...
- 【转载】ASP.NET网站选购阿里云服务器的时候,阿里云账号个人认证以及企业认证有何不同
在采购阿里云产品,如阿里云云服务器.阿里云短信包.阿里云数据库MySql以及Sqlserver.阿里云对象存储OSS等云产品的时候,如果账号未进行实名认证,很多时候会要求实名认证操作,在实名认证时可选 ...
- Windows server 2012配置WebDeploy发布网站
以前都是使用win2008r2服务器,最近更新了操作系统到WINDOWS 2012,发现以前的做法已经不适用了. win2008r2配置WebDeploy: https://www.cnblogs.c ...
- [Windows Server 2012] 手工创建安全网站
★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频.★ 本节我们将带领大家:手工创建安全站 ...
- [网站性能2]Asp.net平台下网站性能调优的实战方案
文章来源:http://www.cnblogs.com/dingjie08/archive/2009/11/10/1599929.html 前言 最近帮朋友运营的平台进行了性能调优,效果还不错, ...
- 【网站国际化必备】Asp.Net MVC 集成Paypal(贝宝)快速结账 支付接口 ,附源码demo
开篇先给大家讲段历史故事,博主是湖北襄阳人.襄阳物华天宝,人杰地灵,曾用名襄樊.在2800多年的历史文化中出现了一代名相诸葛亮(卧龙),三国名士庞统(凤雏),魏晋隐士司马徽(水镜先生),唐代大诗人孟浩 ...
随机推荐
- 【Hadoop】HDFS笔记(一):Hadoop的RPC机制
RPC(Remote Procedure Call, 远程过程调用)主要面对两个问题: 1.对象调用方式: 2.序列/反序列化机制. Hadoop实现的RPC组件依赖于Hadoop Writable类 ...
- Java代码加密与反编译(一):利用混淆器工具proGuard对jar包加密
Java 代码编译后生成的 .class 中包含有源代码中的所有信息(不包括注释),尤其是在其中保存有调试信息的时候.所以一个按照正常方式编译的 Java .class 文件可以非常轻易地被反编译.通 ...
- Flutter实战视频-移动电商-03.底部导航栏制作
03.底部导航栏制作 material是谷歌退出的 还有另外的一种:cupertino是IOS的风格 我们底部的导航栏,静态的widget是不合适的,这垃圾我们用到动态的widget 这重新改成动态的 ...
- Tomcat注入到系统服务中,实现服务自启动及常驻
步骤一.打开service.bat 并修改(推荐notepad++): 1.set SERVICE_NAME=Tomcat6(服务名称,可在命令行中通过该名字进行服务的控制(启动/关闭)) 2.se ...
- UnityEngine中Animator相关类的说明
---------------------------------------------------------------------- Animator 这个单独写,比较多 AnimationC ...
- Ogre 中使用OIS的两种模式
关于OIS的输入 要开始考虑游戏输入的问题了,以及开始加入CEGUI也要考虑加入输入的问题.先把OIS的输入简单回忆一下. OIS有两种输入模式:非缓冲输入以及缓冲输入. 无论用哪种输入方式,都应该有 ...
- CTP 下单返回错误: 没有报单权限 和字段错误需要注意的问题
没有报单权限一般被认为期货公司没有开权限, 但是更多的问题是没有填写 BrokerId, InvestorId 下单字段错误注意一个容易忽略的地方: a. order 应该全部设为0, b. orde ...
- NSString 是否存在空格
NSString *_string = [NSString stringWithFormat:@"123 456"]; NSRange _range = [_string rang ...
- perl C/C++ 扩展(二)
第二讲perl 加载c/c++的库 先通过h2xs 创建一个新的工程 h2xs -A -n two_test 进入目录 cd two_test 创建一个mylib文件夹,存放静态库 mkdir myl ...
- Kera高层API
目录 Keras != tf.keras Outline1 Metrics Step1.Build a meter Step2.Update data Step3.Get Average data C ...