Asp.net web api 在发布模式下获取jwt令牌请求的404

Asp.net web api 在发布模式下获取jwt令牌请求的404,asp.net-web-api,owin,jwt,katana,Asp.net Web Api,Owin,Jwt,Katana,我不熟悉ASP.NET或C#编程。在我的新任务中,我正在添加身份验证中间件,检查JWT令牌以进行验证,等等。 我按照此URL将身份验证中间件添加到我的ASP.net应用程序中- 虽然我在访问/tokenurl时成功地获得了生成的令牌,但这在仅在调试模式下运行时是可能的。如果我将构建配置更改为Release,则访问/token url时,将开始出现404错误 我比较了Visual Studio 2013输出视图中显示的输出,发现在调试模式下有两行额外的代码没有在发布模式下显示。 这两行是— “Me

我不熟悉ASP.NET或C#编程。在我的新任务中,我正在添加身份验证中间件,检查JWT令牌以进行验证,等等。 我按照此URL将身份验证中间件添加到我的ASP.net应用程序中-

虽然我在访问/tokenurl时成功地获得了生成的令牌,但这在仅在调试模式下运行时是可能的。如果我将构建配置更改为Release,则访问/token url时,将开始出现404错误

我比较了Visual Studio 2013输出视图中显示的输出,发现在调试模式下有两行额外的代码没有在发布模式下显示。 这两行是—

“MetaAPI.vshost.exe”(CLR v4.0.30319:MetaAPI.vshost.exe):加载了“C:\windows\Microsoft.Net\assembly\GAC\U MSIL\System.Web.Extensions\v4.0\U 4.0.0.0\UU 31bf3856ad364e35\System.Web.Extensions.dll”。找不到或无法打开PDB文件

'MetaAPI.vshost.exe'(CLR v4.0.30319:MetaAPI.vshost.exe):加载'C:\windows\Microsoft.Net\assembly\GAC\U 32\System.Web\v4.0\U 4.0.0\UU b03f5f7f11d50a3a\System.Web.dll'。找不到或无法打开PDB文件

我不知道这些是否表明问题的根源。我在项目中添加了对System.Web和System.Web.Extensions的引用,但没有帮助


如何解决这个问题?有什么建议吗?

很可能是因为
\if DEBUG
条件

public class MyOAuthOptions : OAuthAuthorizationServerOptions
{
    public MyOAuthOptions()
    {
        TokenEndpointPath = "/token";
        AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(60);
        AccessTokenFormat = new MyJwtFormat();
        Provider = new MyOAuthProvider();
        #if DEBUG // HERE
            AllowInsecureHttp = true;
        #endif
    }
}
Release模式下
myoauth选项
预期通过
HTTPS的流量
。如果在本地计算机或不安全的http上测试应用程序,只需删除
#if DEBUG
#endif
,并保留
AllowInsecureHttp=true


请记住尽管在生产环境中HTTPS是必须的,而且上面的代码应该可以正常工作。

最有可能是因为
#if DEBUG
条件

public class MyOAuthOptions : OAuthAuthorizationServerOptions
{
    public MyOAuthOptions()
    {
        TokenEndpointPath = "/token";
        AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(60);
        AccessTokenFormat = new MyJwtFormat();
        Provider = new MyOAuthProvider();
        #if DEBUG // HERE
            AllowInsecureHttp = true;
        #endif
    }
}
Release模式下
myoauth选项
预期通过
HTTPS的流量
。如果在本地计算机或不安全的http上测试应用程序,只需删除
#if DEBUG
#endif
,并保留
AllowInsecureHttp=true


请记住尽管在生产环境中HTTPS是必须的,上面的代码应该可以正常工作。

谢谢,这确实是个问题,谢谢,这确实是个问题,