我需要在ConfigureAuth中设置一个断点来调试我们遇到的问题
下面的文章声称您可以设置断点,但这篇文章是C#,我需要它才能在VB.NET
中工作https://coding.abel.nu/2014/06/understanding-the-owin-external-authentication-pipeline/
我转换了这个:
app.Use(async (context, next) =>
{
await next.Invoke();
});
对此:
app.Use(Async Function(context, [next])
Await [next].Invoke()
End Function)
但是我得到了一个错误,下面的错误:
参数计数不匹配。
这里有几个问题。
- 我假设"context"是"Microsoft.Owin.OwinContext",但这是一个无效的假设。VB项目中的"上下文"我认为是"Microsoft.Owin.Security.Cookies.CookieAuthenticationMiddleware"
- 我不知道"next"的类型是什么
在这里找到是否可以调试Global.asax
根据John Kelly
这让我可以从global.asx 进入
- 将调试器附加到IIS进程
- 打开global.asax文件并放入一个断点
- 在web.config文件中添加一个空间并保存该文件(这会导致当前web应用程序重置)
- 刷新/转到网站上的网页
- 当调试器在断点处停止时,请惊奇地观察。:)
我遇到了同样的参数计数不匹配问题,并遇到了https://github.com/aspnet/AspNetKatana/issues/84
从本质上讲,VB等价物是这样写的
AppBuilderUseExtensions.Use(app, Async Function(context, [next]) As Task
Await [next]()
End Function)
您还可以使用Visual Studio插件附加到所有东西来附加到IIS或IIS Express,这使您能够在Global.asax或Startup.cs类中设置断点。
请参阅https://marketplace.visualstudio.com/items?itemName=thebread.AttachToAllTheThings