我每次构建时都试图运行我的项目时遇到问题.似乎初始化程序运行,但是当涉及第一个查询时 - 它会死于以下内容InvalidOperationException.
This operation requires a connection to the 'master' database. Unable to create a
connection to the 'master' database because the original database connection has
been opened and credentials have been removed from the connection string. Supply
an unopened connection.
Run Code Online (Sandbox Code Playgroud)
作为参考,我使用的是直接导入NuGet的EF Code First CTP4.连接到SQL Server 2008 R2
我想要发生的是,如果有任何模型修改,则重新创建数据库,并为查找表提供一些值.这些东西似乎都支持*开箱即用.
我的设置是这样的:
Global.asax中
protected void Application_Start()
{
Database.SetInitializer<CoreDB>(new CoreDBInitialiser());
// et al...
}
Run Code Online (Sandbox Code Playgroud)
CoreDB.cs
public class CoreDB : DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<Login> …Run Code Online (Sandbox Code Playgroud) 我正在构建一个新的ASP.NET MVC应用程序(在C#中),其中一个要求是创建一个新的成员数据库.为此,我们需要角色来管理不同类型的成员和配置文件,以管理附加到每个成员的其他元数据.到目前为止,只需使用标准的MembershipProvider,RoleProvider和ProfileProvider作为.NET Framework的一部分提供.
但是,问题是我想允许不同的身份验证方法.我希望帐户和登录凭据具有一对多的关系(一个帐户可以附加一些登录凭据).例如,用户可能同时将OpenID和ActiveDirectory帐户附加到其帐户.
但是,在尝试了几种方法后,我们选择了MembershipProvider路线(解释了它是如何实现的,如下所示).
我的问题是,人们之前是如何做到这一点的,以及人们如何建议我接近它?它似乎是在很多网站上实现的东西,但在这里的搜索并没有返回任何可靠的东西.
编辑:在隔夜和今天早上四处寻找好几个小时之后 - 我仍然没有意识到屠杀一个会员提供者将是最简单的选择.有多个MembershipProviders会产生相同的效果吗?
BOUNTY EDIT:没有回复,我假设没有更优化的解决方案,我发布的答案.这是真的吗?我正在提供奖励,试着看看是否有人对此有任何进一步的想法以及是否有更好的选择.
BOUNTY ACCEPT EDIT:我认为WIF是下面接受的答案,对于.NET 4版本和其他版本可能适用于3.5.除此之外,也许一个屠宰的MembershipProvider或改编的可能仍然是相关的.
我正在使用ASP.NET MVC 2并且有一个通过HTTPS保护的登录页面.为了确保用户始终通过SSL访问这些页面,我已将该属性添加[RequireHttps]到控制器.这完美地完成了这项工作.
当他们成功登录后,我想将它们重定向回HTTP版本.但是,没有[RequireHttp]属性,我正在努力探索如何实现这一目标.
增加的(潜在的)复杂性是生产中的网站托管在域的路由上,但是出于开发和测试的目的,它位于子目录/虚拟目录/应用程序中.
我是否过度思考这个问题并且有一个简单的解决方案让我盯着我?还是有点复杂?
浏览一下来自微软的WebsiteSpark - 交易很好(特别是如果你想要沿着这条路走下去).但如果我不急于报名,我就是那些喜欢"等待下一个版本"的人之一.一个令我烦恼的问题是该程序是否包含对Visual Studio的升级和/或他们是否会在某个时候更改起始包?
目前,如果您立即注册,您将获得3份Visual Studio 2008.
如果你对这个计划感到满意,那么它是否值得等待,并希望他们能够调整自己的程序,以便它与VS2010一起使用?或者也许他们会为已经参与计划的人提供免费更新?
(这个问题可能有点主观,我猜它也可能适用于BizSpark方面.在其他Microsoft程序中是否有任何可能表明结果的提示?).
我有Windows 7 Pro(x64),SQL Server 2008开发人员版,IIS 7.5尝试从SSMS创建IIS APPPOOL\ASP.NET v4.0的登录 - >安全 - >登录我没有收到"登录失败的用户IIS APPPOOL\ASP.NET v4.0"
我收到此错误:
Create failed for Login "IIS APPPOOL\ASP.NET v4.0" (Microsoft.SqlServer.Smo)
Windows NT user or group IIS APPPOOL\ASP.NET v4.0 not found. Check the name again.
Microsoft SQL Server, Error 15401
Run Code Online (Sandbox Code Playgroud)
如果我错了,请纠正我,但这不是一个完全不同的错误/问题,而不是"用户IIS APPPOOL\ASP.NET v4.0登录失败"
有关如何创建此登录的任何建议?
谢谢!
我对如何在我目前的foreach中实现以下内容感到困惑:
@foreach
(var post in Model."table".Where(w => w.Private_ID == 1).OrderBy(o => o.Date))
{
<div class ="post">
<fieldset>
<p class="post_details">At @post.Post_Date By @post.Username</p>
@post.Post_Desc
</fieldset>
</div>
}
Run Code Online (Sandbox Code Playgroud)
使post.Username将不会显示,如果@post.anon是TRUE(因此它会说"无名氏")
提前感谢您的任何建议/帮助/建议.
我正在制作一个.net系统.我正在使用LINQ和MVC.我不得不创建实时数据库,并希望这可以顺利运行,但事实并非如此.
新的SQL SERVER - Microsoft Windows NT 5.0(2195)/ 8.00.760
我创建了一个可以添加/编辑/删除的管理员用户.基本上我遇到以下错误,如果我尝试添加(.InsertOnSubmit)或删除(.DeleteOnSubmit)任何行,但不是我编辑时.
"Network access for Distributed Transaction Manager (MSDTC) has been disabled. Please enable DTC for network access in the security configuration for MSDTC using the Component Services Administrative tool."
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索了这个错误,发现人们认为它与"MSDTC服务"有关,但这似乎在服务上打勾.我已经通过SQL Server Management登录到数据库,该用户可以添加/删除.
一个例子:
Controller
if (_service.AddAccess(access)) return RedirectToAction("Access");
public Repository()
{
_db = new DataClassDataContext(ConfigurationManager.ConnectionStrings["RegistrarsServices"].ConnectionString);
}
public void Save()
{
_db.SubmitChanges();
}
public bool AddAccess(Access access)
{
try
{
using (var scope = new TransactionScope())
{
_db.Accesses.InsertOnSubmit(access); …Run Code Online (Sandbox Code Playgroud) 像我一样有缺陷,我收到了一些不必要的帮助,以Visual Studio 2008的形式创建错误,将不正确的代码添加到.designer.cs文件中.我很感激,它可能是因为我的遗漏或错误而做到这一点 - 但我会借口说我实际上是一个崭露头角的ASP.NET开发人员,所以我还在学习.
解决方案的相关部分看起来像这样:
/Prototypes
/Project01.Master
- Project01.Master.cs
- Project01.Master.designer.cs
/SampleApplication.aspx
- SampleApplication.aspx.cs
- SampleApplication.aspx.designer.cs
Run Code Online (Sandbox Code Playgroud)
我不完全确定在问题中包含哪些文件,所以我会尽力猜测..Master.cs和SampleApplication.aspx.cs都包含在Project01.Prototypes命名空间内(虽然我对此并不珍贵,它是自动添加和工作的东西,而我不需要考虑它) .
SampleApplication.aspx的顶部是以下内容(为了能够访问理论上的主页面所暴露的一些属性).
<%@ Page Language="C#" MasterPageFile="~/Prototypes/Project01.Master" AutoEventWireup="true" CodeBehind="SampleApplication.aspx.cs" Inherits="Project01.Prototypes.SampleApplication" %>
<%@ MasterType VirtualPath="~/Prototypes/Project01.Master" %>
Run Code Online (Sandbox Code Playgroud)
SampleApplication.aspx.designer.cs中包含:
namespace Project01.Prototypes {
public partial class SampleApplication {
public new Project01.Prototypes.Project01 Master {
get {
return ((Project01.Prototypes.Project01)(base.Master));
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
所有这些导致错误:
The type name 'Prototypes' does not exist in the type 'Project01.Prototypes.Project01'
Run Code Online (Sandbox Code Playgroud)
我可以解决这个错误,并通过摆脱'Project01.Prototypes'再次进行构建.类本身内的引用(离开命名空间).我的问题是,这只是一个临时解决方案,因为Visual Studio不断添加它 - 所以我想问题是我的错误实际位于何处?
ps如果它很重要,我将使用ASP.NET MVC Web应用程序在Visual Studio 2008中运行.
asp.net ×4
c# ×4
asp.net-mvc ×2
bizspark ×1
code-first ×1
database ×1
foreach ×1
https ×1
linq ×1
login ×1
master-pages ×1
namespaces ×1
razor ×1
sql ×1
sql-server ×1
websitespark ×1