我希望以下 Post 方法通过为 " result" 变量分配失败值来返回失败,但我不确定如何实现。理想情况下,它会说安装 ID 无效,但不确定我可以这样做:
[Authorize]
[HttpPost, Route("sendForDevelopment")]
public async Task<NotificationOutcome> Post([FromBody]string message, string installationId)
{
string hubName = "myHubName";
string hubNameDefaultShared = "myHubNameDefaultShared";
NotificationHubClient hub = NotificationHubClient
.CreateClientFromConnectionString(hubNameDefaultShared, hubName, enableTestSend: true);
var templateParams = new Dictionary<string, string>
{
["messageParam"] = message
};
NotificationOutcome result = null;
if (string.IsNullOrWhiteSpace(installationId))
{
// output a installation id is null or empty message or assign failure to the result variable
}
else
{
result = await hub.SendTemplateNotificationAsync(templateParams, "$InstallationId:{" + …Run Code Online (Sandbox Code Playgroud) 我有3个项目:
我不想从两个项目(1,2)分别连接到同一个数据库(感觉不是一个好主意,如果我错了请纠正我,希望将数据库增删改查操作包含在Web API中)。
我想在Web Api项目中进行身份验证并将令牌传递给Net Core MVC项目。
我不知道如何使用令牌为MVC项目授权该用户,以便可以根据用户的角色等访问控制器。基本上使用在Web api中获得的令牌在MVC项目中登录该用户。这是否可能或正确的方法?有什么帮助吗?
MVC项目Startup.cs类
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
// add for razor pages and refresh without rebuilding
services.AddRazorPages().AddRazorRuntimeCompilation();
// add httpClient
services.AddHttpClient();
// start auth jwt
services.AddSession(options => {
options.IdleTimeout = TimeSpan.FromMinutes(1);
});
//services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); …Run Code Online (Sandbox Code Playgroud)