说我有这样的查询:
BEGIN Transaction
UPDATE Person SET Field=1
Rollback
Run Code Online (Sandbox Code Playgroud)
有一亿人.二十分钟后我停止了查询.SQL Server是否会回滚更新的记录?
我正在尝试让一个 MVC Core Web 应用程序与 Identity Server 和 Docker 一起工作。以下是我采取的步骤:
1) 下载快速入门:https : //github.com/IdentityServer/IdentityServer4.Samples/tree/dev
运行项目并查看它按预期工作。现在尝试将 Docker 添加到等式中:
2) 打开解决方案。右键单击:IdentityServerWithAspNetIdentity 并选择:添加容器编排支持(然后是 Docker Compose,然后是 Linux)。3) 右键单击 MVCClient 并选择:添加容器编排支持(然后是 Docker Compose,然后是 Linux)。4)把Docker-compose.override.yml改成这个(注意我只把每个服务的端口从80改成5002:80和5000:80):
version: '3.4'
services:
mvcclient:
environment:
- ASPNETCORE_ENVIRONMENT=Development
ports:
- "5002:80"
identityserverwithaspnetidentity:
environment:
- ASPNETCORE_ENVIRONMENT=Development
ports:
- "5000:80"
Run Code Online (Sandbox Code Playgroud)
5) 尝试运行该项目,看看会发生什么。当我尝试访问:主页/安全;而不是被转发到登录网页;我看到这个错误:'Unable to obtain configuration from:http://localhost:5000/.well-known/openid-configuration'.
我相信这是因为 Docker 容器看不到 localhost:5000。因此,在阅读了一些博客文章后;我试试这个:
6) 在 MVCClient 中打开启动并更改:
options.Authority = "http://localhost:5000";
Run Code Online (Sandbox Code Playgroud)
对此:
options.Authority = "http://identityserverwithaspnetidentity:80";
Run Code Online (Sandbox Code Playgroud)
但是,我只看到一个 DNS 错误(我相信是 404)。在这种情况下,我需要做什么才能让 Identity Server 与 MVC Web 应用程序一起工作?
到目前为止,我已经看过了: …
有没有办法在 Visual Studio 中查看 DataReader 中的值。请注意,我在调试时指的是观察窗口。例如,如果datareader 中有两个字段,即ID 和Name,有没有办法查看这些值?当我将鼠标悬停在 DataReader 上方时,它只会告诉我它是什么类型的对象,即数据读取器。
我正在继续开发 ASP.NET 应用程序(基于 Web 表单),其中以前的开发人员没有遵循良好的面向对象设计原则,即 SOLID(http://www.remondo.net/solid-principles-csharp-interface-隔离/)。我读过这样的帖子:长期存在的不正确的编程假设。
问题是很多类的内聚度低,耦合度高,而且很多类没有单一的职责(它们有很多)。我的具体问题是:我应该开始遵循 SOLID 原则还是只是通过 tweeking 继续开发并向类添加更多内容?过去我一直试图遵循像SOLID这样的原则,但是我所说的应用程序非常庞大和复杂。我是唯一从事该项目的开发人员。
完全重写目前是不可能的,但总有一天是可能的。
2012 年 7 月 15 日更新 到目前为止,我发现 SOLID 是一种设计原则,而 GRASP 是一种设计模式,它可能更适合 MVC 而不是页面控制器类型的应用程序。根据此链接,模拟对象也可能更适合 MVC:http : //www.asp.net/mvc/tutorials/older-versions/overview/asp-net-mvc-overview。根据迄今为止的响应,遵循 SOLID 原则始终是一种很好的做法。但是,到目前为止的答案并不推荐基于表单的应用程序的设计模式。
我管理一个数据仓库类型的应用程序,它连接的一个数据库即将由外部组织管理.外部组织正在设置Microsoft Reporting Services,以允许我们为用户生成报告以便能够查看数据.
数据库托管在外部服务器上.我在测试环境中的Microsoft Reporting Services中设置了一个测试表单.
我对此技术没有任何其他经验.我的问题是:这项技术能否生成CSV文件,还是必须在网络浏览器中查看信息?如果没有Web服务,我无法看到如何做到这一点.
我最近使用JQuery和JavaScript开始在客户端开发.说实话,我总是认为DOCTYPE标签是理所当然的,我从未做过多少阅读:http://www.w3schools.com/tags/tag_doctype.asp.据我所知,XHTML 1(共3个)HTML 4.01(共3个)和HTML 5有不同的文档类型.doctype包含以下"HTML 4.01 Transitional"结构:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Run Code Online (Sandbox Code Playgroud)
我不明白原因:-//W3C//DTD HTML 4.01 Transitional//EN.当然DTD路径足够了吗?我也不明白为什么这么难记,例如为什么不说:W3C HTML 4.01 Transitional.我意识到这是有原因的,但我找不到它是什么.
我花了最后几个小时寻找答案,但没有运气,因此问题的原因.
我在Visual Studio中启用了SSL,如下所示:
我也设置如下:
当我通过IE访问网站(通过Visual Studio调试)时,我看到:
当我通过Firefox(通过Visual Studio调试)访问网站时,我看到:
在Firefox或IE中无法进入网站.我整天都在努力去理解什么是错的.我究竟做错了什么?
NUnit 有一个OneTimeSetup 属性。我正在尝试思考一些可以使用它的场景。但是,我在网上找不到任何 GitHub 示例(甚至我的链接也没有示例)。
假设我有一些这样的代码:
[TestFixture]
public class MyFixture
{
IProduct Product;
[OneTimeSetUp]
public void OneTimeSetUp()
{
IFixture fixture = new Fixture().Customize(new AutoMoqCustomization());
Product = fixture.Create<Product>();
}
[Test]
public void Test1()
{
//Use Product here
}
[Test]
public void Test2()
{
//Use Product here
}
[Test]
public void Test3()
{
//Use Product here
}
}
Run Code Online (Sandbox Code Playgroud)
这是在 OneTimeSetup 中初始化变量的有效场景吗?即因为在这种情况下,所有测试方法都使用 Product 吗?
我正在尝试将 Docker 与应用程序一起使用。除了 Rabbit MQ 之外,一切似乎都有效。因此,为了创建测试用例,我做了以下操作:
第 1 步 - 在 Docker 外部运行 - 按预期工作
1) 创建一个简单的 ASP.NET Core 2.1 控制台应用程序:
using System;
using RabbitMQ.Client;
namespace DockerRabbitMQ
{
class Program
{
static void Main(string[] args)
{
RabbitMQConnect();
}
public static void RabbitMQConnect()
{
var factory = new ConnectionFactory
{
HostName = "localhost",
UserName = "guest",
Password = "guest"
};
var rabbit = factory.CreateConnection();
}
}
}
Run Code Online (Sandbox Code Playgroud)
2)在本地PC上安装RabbitMQ并通过浏览到: http://localhost:15672来测试它的工作情况。我看到管理门户符合预期,因此它正在运行。
3) 运行控制台应用程序。它按预期运行并完成。
第 2 步 - 在 Docker 内运行
1) 右键单击控制台应用程序并选择:添加/容器编排支持。添加了 …
我有一个网络服务方法,如下所示:
[HttpGet("{id}")]
public ActionResult<byte[]> Get(Guid id)
{
var files = Directory.GetFiles(@"Pictures\");
foreach (var file in files)
{
if (file.Contains(id.ToString()))
{
return System.IO.File.ReadAllBytes(file);
}
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
这是客户端代码,它肯定可以工作,即它正在调用 Web 服务并且 Web 服务正在返回图像:
var response2 = await client.GetAsync("http://localhost:59999/api/Images/5c60f693-bef5-e011-a485-80ee7300c692");
byte[] image2 = await response2.Content.ReadAsByteArrayAsync(); ///sf/ask/2743301291/
System.IO.File.WriteAllBytes("image.jpg", image2);
Run Code Online (Sandbox Code Playgroud)
当我尝试在画图中打开 image.jpg 时;它说这是一个无效文件。问题是什么?
c# ×5
asp.net ×2
docker ×2
sql-server ×2
.net ×1
asp.net-mvc ×1
doctype ×1
html ×1
nunit ×1
rabbitmq ×1
sql ×1
ssl ×1
unit-testing ×1
vb.net ×1