我想将我的ASP.NET应用程序部署到MS Azure(和SQL Azure).该应用程序使用代码优先.
发布我的应用程序并调用相应的URL后,我收到一条错误消息:
用户'myUserName'登录失败.已为此会话分配了跟踪ID"8beaff1c-629f-45b3-991b-228425bc30a4".在需要帮助时,请将此跟踪ID提供给客户支持.
我很确定这是由于我的配置文件中的连接字符串.
这是我的web.config的相关摘录:
<connectionStrings>
<add name="dbContext"
connectionString="server(local)\SQLEXPRESS;database=myDB;integrated security=true;MultipleActiveResultSets=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
这是相应的web.release.config:
<connectionStrings>
<add name="ApplicationServices" connectionString="Server=tcp:xt1rnwvt89.database.windows.net;Database=myDB;User ID=myUserName@xt1rnwvt89;Password=myPassword;Trusted_Connection=False;Encrypt=True;MultipleActiveResultSets=True;" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
<add name="dbContext" connectionString="Server=tcp:xt1rnwvt89.database.windows.net,1433;Database=myDB;User ID=myUserName@xt1rnwvt89;Password=myPassword;Trusted_Connection=False;Encrypt=True;MultipleActiveResultSets=True;" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
我不确定我是否需要ApplicationServices和dbContext设置......?
当然,上面给出的凭证是匿名的.但真正的凭据应该是正确的,因为我可以使用SQL Server Management Studio(SSMS)成功连接到我的Azure数据库.
我已经检查了几个文档和教程,如https://www.windowsazure.com/en-us/develop/net/tutorials/web-app-with-sql-azure/,但我还没找到解决方案.一切似乎都没问题.
有人有想法吗?
我有一个带有此货币字段的ASP.NET MVC-4应用程序:
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:c}", ConvertEmptyStringToNull = true)]
[DataType(DataType.Currency)]
public decimal? Price { get; set; }
Run Code Online (Sandbox Code Playgroud)
这是我认为的相应部分:
@Html.EditorFor(model => model.Price)
@Html.ValidationMessageFor(model => model.Price)
Run Code Online (Sandbox Code Playgroud)
如果价格为100欧元,则视图中的文本字段显示:
100,00€
这很好.
但是一旦我尝试回发,我就遇到了问题.验证器会弹出并说价格字段需要是一个数字.
如果(1)我删除了€符号并且(2)替换了小数分隔符(用点替换逗号),我只能解决这个问题.
如果没有更好的解决方案,我想我可以更改DataFormatString ="{0:F2}"以避免使用货币符号.
但是如何使验证器接受逗号作为小数分隔符而不是(美国)点?
谢谢你的帮助,伙计们!
我有两个关于ASP.Identity 2.0"GenerateEmailConfirmationToken/GenerateEmailConfirmationTokenAsync"方法的问题.
// Generate token
var token = Url.Encode(await UserManager.GenerateEmailConfirmationTokenAsync(user.Id));
Run Code Online (Sandbox Code Playgroud)
我正在尝试连接到 MongoDb 数据库。
通过连接字符串进行身份验证正在工作:
public MongoDbContext(AppSettings appSettings)
{
var connectionString = "mongodb://myUsername:myPassword@myDomain.com:27017/myDatabaseName";
_client = new MongoClient(connectionString);
// ...
}
Run Code Online (Sandbox Code Playgroud)
MongoClientSettings 的身份验证不起作用:
public MongoDbContext(AppSettings appSettings)
{
var credentials = MongoCredential.CreateMongoCRCredential(databaseName: "myDatabaseName", username: "myUsername", password: "myPassword");
var server = new MongoServerAddress(host: "myDomain.com", port: 27017);
var mongoClientSettings = new MongoClientSettings
{
Credential = credentials,
Server = server,
ConnectionMode = ConnectionMode.Standalone,
ServerSelectionTimeout = TimeSpan.FromSeconds(3)
}; …Run Code Online (Sandbox Code Playgroud) 我在Windows Server 2016 Standard上将MongoDb 4.0.9作为服务运行。
这是我的mongod.cfg:
我的本地计算机是Windows 10,在这里我也安装了Mongo 4.0.9。我正在尝试通过外壳连接到服务器的数据库:
当我进入服务器(远程桌面)时,我可以成功连接(相同的用户凭据):
我没有足够的想法进行远程连接时我在做什么错。
还有一个令人困惑的地方:我在另一台服务器上做着完全相同的事情(不同的提供程序,不同的数据库,但还有Windows Server 2016 Standard,MongoDb 4.0.9以及相同的用户和角色)。在这里,我的CAN连接。
因此,我认为它与Windows Server(而不是Mongo ...)的设置有关吗?
有人有主意吗?
我一直在玩 Bootstrap 的全新 5.0.1。
在官方文档中,他们说他们在编译的 CSS 中使用 CSS 变量。
在我看来,我可以在运行时覆盖某些颜色。例如,我希望整个“主要”主题使用红色而不是默认的蓝色。
请参阅这个非常简单的示例。什么都没发生。徽章和按钮仍然是蓝色的。
<html>
<head>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
<style>
:root{--bs-primary: red;}
</style>
</head>
<body>
<div class="badge bg-primary">100</div>
<button class="btn btn-primary">Just a button</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
你们有什么感想?我做错了什么吗?或者 Bootstrap 团队还没有准备好为每个组件提供 CSS 变量?
重要提示:我知道我可以使用 SASS 在编译时从蓝色切换到红色。但我需要一个让我在运行时更改颜色的解决方案,因为我根本不知道编译时所需的颜色。
更新 05/16/2021:此时我想知道的是 Bootstrap 团队是否仍在致力于将 CSS 变量添加到已编译的css 中(可能在 v5.xx 中) - 或者我是否误解了整个事情?感谢你们。
2021 年 5 月 17 日更新:修改徽章非常简单,正如 @Sameer 下面向我们展示的那样。然而,修改按钮并不是那么简单。所以我在我的示例中添加了一个按钮。
2021 年 5 月 18 日更新:对于任何感兴趣的人,我在Bootstrap …
对于ASP.NET Identity 2.0:
有人知道如何"分配给定索赔的所有用户"吗?
假设我有一个type ="ArticleId"和value ="1"的声明.
如何让所有拥有此声明的用户获得此声明?我真的想不出来..所以,谢谢你的帮助!!
我正在使用MailKit/MimeKit 1.2.7(最新的NuGet版本).
我正在使用ImapClient接收可能具有不同附件(图像,文本文件,二进制文件等)的电子邮件.
MimeMessage的Attachment属性帮助我访问所有这些附件 - 除非电子邮件与Apple Mail一起发送并包含图像(似乎Apple Mail没有附加带有内容处置的图像"附件"(在此处阅读...来自Jeffrey Stedfast的评论)在最底部).
附件集合中未列出嵌入的图像.
我有什么选择?我是否真的必须逐个穿过身体部位,看看里面是什么?或者是否有更简单的解决方案?
我正在使用 MailKit/MimeKit 1.2.7(最新的 NuGet 版本)。
我一直在阅读 API 文档和关于 stackoverflow 的几篇文章。但我仍然无法成功将电子邮件附件保存为文件。
这是我当前的代码:
var mimePart = (attachment as MimePart);
var memoryStream = new MemoryStream();
mimePart.ContentObject.DecodeTo(attachmentStream);
using (var fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write))
{
memoryStream.CopyTo(fileStream);
}
Run Code Online (Sandbox Code Playgroud)
我一直在尝试带有不同类型附件的代码。我光盘上创建的文件总是空的。
我错过了什么?
我试图将多个通用接口作为参数传递给我的一个类的构造函数.
以下代码无法编译:
public interface IPosterGenerator<T>
{
IQueryable<T> GetPosters();
}
public class Pinboard
{
public Pinboard(IPosterGenerator<A> firstPosterGenerator, IPosterGenerator<B> secondPosterGenerator, IPosterGenerator<B> thirdPosterGenerator)
{
}
}
Run Code Online (Sandbox Code Playgroud)
我有大约一百种不同类型的海报生成器.它们都继承自IPosterGenerator接口.当我实例化一个新的Pinboard时,我需要将三个IPosterGenerators传递给pinboard的构造函数.但是,这三个IPosterGenerators中的每一个都是不同类型的.这就是我想出这个愚蠢的A,B和C的原因.
这可以完成吗?
我正在使用ASP.NET Identity 2.0和EF 6.1.1构建MVC5应用程序.
这是我当前的Login方法的一部分:
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
if (!ModelState.IsValid)
return View(model);
var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout: true);
switch (result)
{
case SignInStatus.Success:
{
var user = await UserManager.FindAsync(model.UserName, model.Password);
if (user == null)
break;
if (!UserManager.IsInRole(user.Id, "OfficeUser"))
break; // << I always hit this line - even if the user is an OfficeUser
Run Code Online (Sandbox Code Playgroud)
这个工作正常,直到我点击UserManager.IsInRole().这总是返回false.
在某处我读到IsInRole()如果相应的用户没有登录就会失败.但是因为我传递了SignInManager.PasswordSignInAsync(),我相信这应该没问题.
是的,我已经多次检查数据库并且非常小心;)我的测试用户和我的测试角色"OfficeUser"肯定是相互分配的.
有人有想法吗?
我正在使用bootstrap-treeview 1.2.0(来自Jon Miles)。
我的目标是将自定义数据属性添加到列表项的标记中,例如
<li class="list-group-item node-tree" data-id="100" data-type="user" ...>
Run Code Online (Sandbox Code Playgroud)
我试图遵循这些说明,请参见此处,这是我的JSON的一部分:
[{"text":"Root","icon":null,"data-id":1,"data-type":"branch","nodes":[{"text":"Steve","icon":null,"data-id":17, "data-type":"user","nodes":...
Run Code Online (Sandbox Code Playgroud)
对我来说,JSON看起来不错。但是我的数据属性都没有在标记中呈现。
有任何想法吗?