一旦查询执行显式调用Close方法或将连接放在Using语句中,是否有必要关闭连接?离开连接是否会导致连接重用并提高SQL性能以备将来查询?
一旦没有为Web应用程序设置自定义域,Azure App Service AlwaysOn就能完美运行.一旦添加了自定义域以及URL重写规则以将所有传入请求重定向到它,应用程序在一段时间不活动后开始缓慢响应.日志显示AlwaysOn仍然ping天蓝色域并获取HTTP 301响应,而不是尝试请求新URL.
没有自定义域的日志:
2017-06-20 17:17:02 ZZTESTSITE GET / X-ARR-LOG-ID=743965b6-d3e2-42b9-9353-7772f9fbc898 80 - ::1 AlwaysOn ARRAffinity=b5289afa9cd711b67c1fe9137a6e3ff232f80bd3fa1bd96e9fc89992472b4e57 - zztestsite.azurewebsites.net 200 0 0 11433 652 15
Run Code Online (Sandbox Code Playgroud)
使用自定义域记录
2017-06-21 13:28:52 ZZTESTSITE GET / X-ARR-LOG-ID=ffcd5992-5019-48ca-a386-76443a8c7226 80 - ::1 AlwaysOn ARRAffinity=b5289afa9cd711b67c1fe9137a6e3ff232f80bd3fa1bd96e9fc89992472b4e57 - zztestsite.azurewebsites.net 301 0 0 553 652 46
Run Code Online (Sandbox Code Playgroud)
URL重写规则:
<rule name="Redirect requests from default azure websites domain to custom one" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="^zztestsite\.azurewebsites\.net$" />
</conditions>
<action type="Redirect" url="http://mycustomdomain.com" redirectType="Permanent" appendQueryString="false"/>
</rule>
Run Code Online (Sandbox Code Playgroud)
此外,一旦启用了SSL并添加了另一个规则以将所有请求重定向到HTTPS,就会出现同样的问题.
我该如何解决这个问题?我发现了两个可能的方向:
请指教.
我很难理解System.Net.Http的双重存在.它作为.Net Framework 4.7(版本4.0.0.0)的一部分存在,但在更新版本(截至目前版本4.3.2)中也可作为单独的包提供.
为什么它有两个可用的?为什么最新版本(可能是4.3)在发布时没有包含在.Net Framework 4.7中?
这3种方法有什么区别
Directory.GetCurrentDirectory()
Environment.CurrentDirectory
hostingEnvironment.ContentRootPath
wwwroot
用于获取存储在?下的图像的路径 在我的情况下,似乎所有的工作都是相同的,但我想了解它们之间是否存在任何其他具体情况的差异,或者使用其中一种的好处。
我使用此路径随后将图像加载到Bitmap MyBitmap
变量中以进行进一步处理。希望它具有环境弹性,无论它最终部署到 Windows、Linux 还是容器;本地或云端。
将 Razor 页面与 ASP.NET Core 3.0 结合使用。
public class QRCodeModel : PageModel
{
private readonly IHostEnvironment hostingEnvironment;
public QRCodeModel(IHostEnvironment environment)
{
this.hostingEnvironment = environment;
}
public void OnGet()
{
string path1 = Path.Combine(Directory.GetCurrentDirectory(),
"wwwroot", "img", "Image1.png");
string path2 = Path.Combine(Environment.CurrentDirectory,
"wwwroot", "img", "Image1.png");
string path3 = Path.Combine(hostingEnvironment.ContentRootPath,
"wwwroot", "img", "Image1.png");
}
}
Run Code Online (Sandbox Code Playgroud) 有什么方法可以简化List
初始化以消除重复New MyObject() With
以及类似的参数名称Value1
?我需要创建包含50个对象的列表,因此需要重复很多,可能是不必要的代码。
我使用最新的Visual Studio 2019(16.2.3)。
Public Class MyObject
Public Property Value1 As Int32
Public Property Value2 As Int32
End Class
Dim Test As New List(Of MyObject) From {
New MyObject() With {.Value1 = 1, .Value2 = 1},
New MyObject() With {.Value1 = 2, .Value2 = 2},
New MyObject() With {.Value1 = 3, .Value2 = 3}
}
Run Code Online (Sandbox Code Playgroud) 为什么 Azure 应用服务 Always On 发出两个请求,第一个请求到我的站点 ZZTESTSITE,第二个请求到 ~1ZZTESTSITE?第一个请求中前面带有波形符的服务名称是什么?
2017-06-20 17:17:02 ~1ZZTESTSITE GET / - 80 - 100.89.142.31 AlwaysOn - - zztestsite.azurewebsites.net 200 0 0 2945 451 15
2017-06-20 17:17:02 ZZTESTSITE GET / X-ARR-LOG-ID=743965b6-d3e2-42b9-9353-7772f9fbc898 80 - ::1 AlwaysOn ARRAffinity=b5289afa9cd711b67c1fe9137a6e3ff232f80bd3fa1bd96e9fc89992472b4e57 - zztestsite.azurewebsites.net 200 0 0 11433 652 15
Run Code Online (Sandbox Code Playgroud) 解决方案包括2个dll库,1个控制台应用程序和1个Web应用程序.只有最后一个项目,即web项目,使用Microsoft.Net.Compilers
NuGet包.软件包已经更新到版本2.3.0,这意味着C#7.1和VB 15.3.
由于其他3个项目没有安装Microsoft.Net.Compilers NuGet包,他们使用了什么Roslyn编译器和C#版本?
我使用VS.Net 2017 15.2和.NET Framework 4.7,所以我猜它应该是C#7.0,但是应该在那里安装2.2版本的Microsoft.Net.Compilers,但事实并非如此.
我的数据库不区分大小写,但导入的数据来自外部区分大小写的系统.唯一索引由3列组成,但由于区分大小写问题,所有3列都不再是唯一的.
例:
+------+------+------+
| Col1 | Col2 | Col3 |
+------+------+------+
| 1 | 2 | abc |
| 1 | 2 | aBc |
| 1 | 2 | ABC |
| 1 | 3 | abc |
| 2 | 4 | abc |
+------+------+------+
Run Code Online (Sandbox Code Playgroud)
我希望只将数字附加到Col3中的值,从而导致基于所有3列重复的索引.这与将附加到特定"abc"版本的数字无关.预期结果:
+------+------+------+
| Col1 | Col2 | Col3 |
+------+------+------+
| 1 | 2 | abc1 |
| 1 | 2 | aBc2 |
| 1 | 2 | ABC3 |
| 1 …
Run Code Online (Sandbox Code Playgroud) 寻找一个查询或函数,对于给定的日期,它将返回接下来的 10 天(包括给定的日期作为参数)作为两列: - 日期 - 工作日名称
我正在使用 SQL Server 2019。
更新(@Dale K):我已经计算了日期和工作日,但这些是作为两个单独的查询和新行而不是多行
declare @mydate datetime
set @mydate = '2020-1-1'
select @mydate + 0, @mydate + 1, @mydate + 2, @mydate + 3, @mydate + 4, @mydate + 5, @mydate + 6
select
datename(dw, @mydate + 0),
datename(dw, @mydate + 1),
datename(dw, @mydate + 2),
datename(dw, @mydate + 3),
datename(dw, @mydate + 4),
datename(dw, @mydate + 5),
datename(dw, @mydate + 6)
Run Code Online (Sandbox Code Playgroud) .net ×3
azure ×2
c# ×2
iis ×2
sql ×2
sql-server ×2
asp.net-core ×1
dapper ×1
list ×1
logging ×1
razor-pages ×1
roslyn ×1
t-sql ×1
vb.net ×1