我有两个 Asp.Net Core 项目 - 一个是 2.2 版本。一个是3.0版本。
每个项目都是在 Visual Studio 中创建的全新的空 MVC 项目。
我通过进入命令行并执行dotnet run.
然后我按如下方式调试我的代码:
dotnet进程的进程 IDDebug -> Attach to Process在 Visual Studio 2019 中执行操作对于 2.2 版项目,我可以轻松地dotnet在任务管理器中识别正确的进程 - 它显示了dotnet exec指向我的项目.dll文件的命令:
然而 - 对于 3.0 项目,dotnet任务管理器中的流程如下所示:
没有一个进程与我的项目文件明确关联.dll,并且没有一个进程允许我使用“附加到进程”来调试我的代码。
所以我的问题是 - 当我使用运行它时,是否有一种方法可以将 Visual Studio 的调试器附加到 Asp.Net Core 3.0 项目dotnet run?
我有一个非常简单的 MVC5 网站,我正在尝试使用 IdentityServer3 来保护它。
我的网站和我的 IdentityServer 实例都作为单独的站点托管在 AppHarbor 中。两者都在 https 后面。
当我访问网站中受[Authorize]属性(例如/Home/About)保护的资源时,我成功重定向到 IdentityServer,并且可以成功进行身份验证。
当 IdentityServer 将其响应 POST 回网站(通过app.FormPostResponse.js)时,网站以 302 重定向响应所请求的资源 - 正如预期的那样。但是,此重定向是指向http,而不是 https (请参阅下面的网络跟踪)。
我确定这只是我的 IdentityServer 配置有问题,但我很感激任何关于我有什么问题的指示。
(AppHarbor 在 IIS 前面使用反向代理(我相信是 nginx),SSL 终止的地方 - 所以我有RequireSsl = false这个场景,根据 IdentityServer 文档。)
这是我的网站 Startup.cs
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = "Cookies"
});
app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
{
Authority = "https://<my-idsrv3>.apphb.com/identity",
ClientId = "<my-client-id>",
Scope …Run Code Online (Sandbox Code Playgroud)