我试图在ASP.net核心中使用SQLClient库,但似乎无法使其工作.我发现这篇文章在线建议如何设置,但它不适合我:http://blog.developers.ba/using-classic-ado-net-in-asp-net-vnext/
我有一个简单的控制台应用程序包.我的project.json看起来像这样:
{
"version": "1.0.0-*",
"description": "DBTest Console Application",
"authors": [ "" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"compilationOptions": {
"emitEntryPoint": true
},
"dependencies": {
"System.Data.Common": "4.0.1-beta-23516",
"System.Data.SqlClient" : "4.0.0-beta-23516"
},
"commands": {
"DBTest": "DBTest"
},
"frameworks": {
"dnx451": { },
"dnxcore50": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Collections": "4.0.11-beta-23516",
"System.Console": "4.0.0-beta-23516",
"System.Linq": "4.0.1-beta-23516",
"System.Threading": "4.0.11-beta-23516"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试以下代码:
using System;
using System.Data.SqlClient;
namespace DBTest
{
public class Program
{
public static void …Run Code Online (Sandbox Code Playgroud) 我正在使用最新的Angular5构建应用程序,我需要的是用户能够切换语言.我从来没有在Angular2 +中实现它(实际上我使用的是Angular5).
我需要在两个地方设置翻译:
我正在寻找ngx-translation,它看起来可以做我需要的一切,因为它允许你在不重建代码的情况下更改语言,请参阅此处.但是我读到它可能会被弃用,因为主要开发人员转向角度团队来开发他们的i18n代码.
我也明白,目前的i18n并不支持我现在需要的一切,请看这里.
我的问题 - 在最新版本的Angular中翻译的状态是什么?是否还有其他人推荐的图书馆,如果确实如此,Angular本身还没有完全支持(用于更改语言而不重新编译)?ngx-translate对未来有益吗?
非常感谢在这方面的任何指导!
internationalization angular-i18n ngx-translate angular angular5
我最近下载了Visual Studio 2013,并在我正在处理的项目上运行了代码分析.它引发了一些我正在解决的问题,但其中一个特别是关于我如何使用"使用"IDisposable语句.
这是我的代码示例:
using (MemoryStream msDecrypt = new MemoryStream(encryptedText.ToBase64Byte()))
{
using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
{
using (StreamReader srDecrypt = new StreamReader(csDecrypt))
{
return srDecrypt.ReadToEnd();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我理解分析警告试图告诉我以这种方式处理多个对象可能会导致对象处置问题.
我确信在上面的例子中处理一个对象不会抛出异常.那么我应该修改我的代码还是保持原样?
我想通过SignInManager实现ASP.net身份验证,但没有EntityFramework.我已经使用SQLClient构建了自己的数据库层,并且想要创建所需的任何调用以使ASP.net身份验证工作.
我的代码如下(从Startup.cs执行):
// Add EF services to the services container.
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<OAuthAppDbContext>(opt => opt.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));
// Add Identity services to the services container.
services.AddIdentity<ApplicationUser, ApplicationRole>(options =>
{
options.Cookies.ApplicationCookieAuthenticationScheme = "ApplicationCookie";
options.Cookies.ApplicationCookie.AuthenticationScheme = "ApplicationCookie";
options.Cookies.ApplicationCookie.CookieName = "oAuthInterop";
options.Cookies.ApplicationCookie.AutomaticChallenge = true;
options.Cookies.ApplicationCookie.AutomaticAuthenticate = true;
options.Cookies.ApplicationCookie.DataProtectionProvider = new DataProtectionProvider(new DirectoryInfo("d:\\development\\artefacts"),
configure =>
{
configure.SetApplicationName("TestAuthApp");
//configure.ProtectKeysWithCertificate("thumbprint");
});
})
.AddEntityFrameworkStores<OAuthAppDbContext, int>()
.AddDefaultTokenProviders();
Run Code Online (Sandbox Code Playgroud)
我需要删除实体框架依赖(并调用我自己的数据库方法来收集用户详细信息).有没有其他人在ASP.net核心做过类似的事情?
提前感谢任何指针!:-)
我的解决方案中有三个应用程序,全部内置于asp.net core 1 MVC 6中.
在应用程序3中,我有通常的asp.net核心SignInManager和UserManager代码(当你启动一个新的MVC 6模板时默认获得相同的代码 - 只有不同的是,它存在于我的web api中).登录/注销/注册等通过我的AccountController中的web api方法公开.这允许我锁定web api,因此只有经过身份验证的请求才会被处理(使用[Authorize]属性).
当我在AccountController中调用"Login"方法时,如果登录成功 - 它返回一个具有以下名称的Set-Cookie指令:".AnspNet.Microsoft.AspNet.Identity.Application"(这用于身份验证)
登录应用程序然后将用户从App1转发到App2.然后对Web api(App3)的所有后续请求进行身份验证并允许执行.注意:通过后续请求 - 特别是我的意思是,在App2中,角度调用以从Web服务请求数据.
所有这一切都很好 - 嗯,它在IE中工作正常.这引出了我的问题,为什么这不适用于Chrome?我看到"Set-Cookie"指令从chrome api Login的响应中返回,但后续请求没有附加此cookie.
我究竟做错了什么?
注意: 登录方法的我的Http响应如下所示:
HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Kestrel
Set-Cookie: .AspNet.Microsoft.AspNet.Identity.Application=CfDJ8FWIuvXs-TxKoIYE8259iAY52B_VZDPTTvYwZ-WAo8hhPCdLhmUfxNZD1wjxEt0sqqnZl6NomwHPNTNFkBxsq4cw_WkQYklnj_dK79wodIguLdPXAbKu6UbS6HKRBxFxjOKVAfIdyxZJ6xA2CtnR9nJC_CSg7v1vFSzgDEiSBso8D3aDNjzFk8
7oIJodC7WLVxWUqdUpjaGRCXqHTYjTwgL9DCihnajAlB921_oEPinUwIPP8g_ugCQmqbFq6kgQ-GwPTifBKRlbtwNsDwbetynl1gIqzELyjgEUAKgtpD9SX7FSjl1grxoGRjbPiXJe-k1SSdnUIHR7wYPkFpiis_c_P1pGkmSyeiDG-lf0xftTlXlnC3BWMbgXeWZn_hsDzbW_Tek3qiq_NB-T0IMGaJgjRnr5DARNcOACWbzwGvHFjsn7n0u7-UZOfzgQJ76d3ra-hjra
-aNcHLgbfDef3TK6z_CKt2iIlnTkyEJXC-3OSGnfWDRvofvQ216UApEPiKoJxiCjWSvGAQCzvf9P1TtKuwAQVxfWz8pL077E-Wfc-4ybtrT6Ivz2VbdFng5Ze5IQ5YWfYYTpDhLSHGKnpFgxVf96f7JwoXlgRq0gs7yEWdWFZs6d18pw-El5sLJr7g; path=/; secure; httponly
Access-Control-Allow-Origin: *
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcUm9iZXJ0XERlc2t0b3BcSEJFIE1hbmFnZXJcTUFJTlxCbHVlem9uZSBXZWJBcGlcc3JjXEJ6LkFwcGxpY2F0aW9uXEJ6LkFwcGxpY2F0aW9uLkFwaVx3d3dyb290XGFwaVxhY2NvdW50XExvZ2lu?=
X-Powered-By: ASP.NET
Date: Wed, 04 May 2016 10:39:57 GMT
Content-Length: 16
Run Code Online (Sandbox Code Playgroud) cookies google-chrome claims-based-identity asp.net-core-mvc
我正在asp.net核心构建一些网站(多个用户界面应用程序和一个web api应用程序).他们都使用web api一起工作.出于我的问题的目的,我们将其称为App1,App2和App3.我在IIS中托管我的网站.
通常,在旧的.net Framework(4.5.1)中,我在IIS中有一个网站,有多个Web应用程序来托管我的多个应用程序.像这样:
WebSite1 - 在端口443上运行
APP1
应用2
APP3
如果网站(WebSite1)在端口443(使用SSL证书)上运行,则意味着可以通过一个域URL访问所有应用程序,如下所示:
在网址末尾使用不同的应用名称来识别它们.
托管新的asp.NET Core应用程序时,我也在IIS中托管,并按照asp.NET Core网站部署的文档,将每个.NET Core Web应用程序托管在IIS中的不同站点中.
由于我的所有网站都有一个域名,例如https://www.example.com(我使用的是SSL证书),我必须为其他网站提供不同的端口.所以我最终得到这样的东西:
WebSite1 - 在端口443上运行
WebSite2 - 在端口444上运行
WebSite3 - 在端口445上运行
然后,可以通过以下域名网址访问所有这些应用:
如何在一个网站下托管asp.NET Core应用程序作为不同的"应用程序",这意味着它们解析为相同的域名URL(https://www.example.com和正斜杠应用程序名称标识我们想要的应用程序) ?或者,如何将我现在配置的端口与端口一起路由并将它们全部路由,以便App1默认为example.com/,App 2是example.com/app2/,App 3是example.com/app3/?
我是否完全以错误的方式看待这个.NET Core部署?
提前感谢任何指针!
使用 MVC .net Core 并在启动类中构建一个具体的配置类。我的 appsettings.json 看起来像这样:
{
"myconfig": {
"other2": "tester,
"other": "tester",
"root": {
"inner": {
"someprop": "TEST VALUE"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我用一个具体的类来表示这一点,如下所示:
public class TestConfig
{
public string other2 { get; set; }
public string other { get; set; }
public Inner1 root { get; set; }
}
public class Inner1
{
public Inner2 inner { get; set; }
}
public class Inner2
{
public string someprop { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我可以通过执行以下操作轻松映射:
var testConfig = …Run Code Online (Sandbox Code Playgroud) 我正在使用ASP.net Core 1,MVC 6.我正在使用SignInManager和UserManager来验证来自另一个MVC应用程序的web api应用程序(MVC6/C#)中的用户(web api Logon方法实际上是从Jquery调用的) Ajax请求).
在IE中,我调用Login方法,当成功时,它给我一个带有ASP.net auth cookie的Set-Cookie响应.然后我可以看到后续请求附加了ASP.net auth cookie.
在chrome中,响应中返回Set-Cookie指令,但后续请求没有附加cookie.
为什么会这样?
我能看到的唯一区别是,在Chrome中,有一个飞行前的OPTIONS请求被发送,但是我已经在web api的startup.cs文件中处理了这个请求并且基本上忽略了它.
我对登录web api的请求如下所示:
Accept */*
Accept-Encoding gzip, deflate
Accept-Language en-IE
Cache-Control no-cache
Connection Keep-Alive
Content-Length 246
Content-Type application/x-www-form-urlencoded; charset=UTF-8
Cookie BeaeN4tYO5M=CfDJ8KMNkK4F2ylMlo1LFxNzxWLNDECVWfhxBYRQrw_MkNQBrVIwfO6FoMIMqg1PP-nZa8Dhp3IV1ZS1uXKpknUDYegiMlEvFaNG-wqUXErvQ5wkMMc_HBI88j-7bCbD2Q7P_B6fEQOQSTKHoL5sTcH0MoM
DNT 1
Host localhost:44338
Referer https://localhost:44356/
Request POST /api/account/Login HTTP/1.1
User-Agent Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko
X-ACL-Key 4A6F0007-95E7-4423-B786-6FBF981799FE
Run Code Online (Sandbox Code Playgroud)
响应如下:
Response HTTP/1.1 200 OK
Cache-Control no-cache
Pragma no-cache
Content-Type application/json; charset=utf-8
Expires -1
Server Kestrel …Run Code Online (Sandbox Code Playgroud) 我在 Azure DevOps 中的 Pull Request 构建期间有一个自定义构建步骤,该步骤在某些情况下会失败。
我想通过提出 PR 评论来进一步扩展它,类似于 GitHub 中的这种事情:https : //developer.github.com/v3/issues/comments/#create-a-comment
我没有要在此处添加的代码示例,因为我找不到可用于构建的有用示例。我将 PowerShell 用于我的自定义构建步骤 - 在运行我的分支的 PR 构建时如何实现这一点?
我创建了以下用户控件.当我将它添加到xaml窗口时,我收到错误"无法创建"ucAppItem的实例".我将用户控件从工具栏拖到窗口上.
用户控件的XAML如下:
<UserControl x:Class="Demos.ucAppItem"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" Width="852" Height="215">
<Grid>
<Label Name="lblTitle" Content="Title" HorizontalAlignment="Left" Margin="233,10,0,0" VerticalAlignment="Top" FontSize="22" FontFamily="Arial"/>
<Image Width="40" Height="40" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="0,0,80,0">
<Image.Style>
<Style TargetType="{x:Type Image}">
<Setter Property="Source" Value="pack://siteoforigin:,,,/arrow2.png"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Source" Value="pack://siteoforigin:,,,/arrow1.png"/>
</Trigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
<Label x:Name="lblRun" Content="Run" HorizontalAlignment="Right" Margin="0,88,35,0" VerticalAlignment="Top" Foreground="#FF2EAADC" FontSize="20">
<Label.Style>
<Style TargetType="{x:Type Label}">
<Setter Property="Foreground" Value="#FF2EAADC"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Foreground" Value="#006d9e"/>
</Trigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
</Grid>
</UserControl>
Run Code Online (Sandbox Code Playgroud)
窗口的XAML如下:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Demos" x:Class="Demos.Window1" …Run Code Online (Sandbox Code Playgroud) c# ×7
asp.net-mvc ×4
.net-core ×2
asp.net ×2
asp.net-core ×2
cookies ×2
angular ×1
angular-i18n ×1
angular5 ×1
azure-devops ×1
deployment ×1
idisposable ×1
iis ×1
powershell ×1
pull-request ×1
sqlclient ×1
using ×1
wpf ×1
xaml ×1