Azure functions 如何在Azure函数中创建会话和cookie?

Azure functions 如何在Azure函数中创建会话和cookie?,azure-functions,Azure Functions,我正在建立一个登录系统,以提高我在.NET中的编码技能。 目前我正在Azure功能中构建该项目。 我使用的Azure Functions版本运行在.NET core 3.1上 我的问题是在.NET Core framework中找不到会话和Cookie类/库。存在的类是ASP.NET核心的一部分。Azure函数中不包括ASP.NET核心。 我已经尝试搜索允许此功能的库,但是没有成功 如何在Azure函数中创建会话和cookie 首先,Azure函数的主要用例是无状态的,会话有点违背这一原则 如果

我正在建立一个登录系统,以提高我在.NET中的编码技能。 目前我正在Azure功能中构建该项目。 我使用的Azure Functions版本运行在.NET core 3.1上

我的问题是在.NET Core framework中找不到会话和Cookie类/库。存在的类是ASP.NET核心的一部分。Azure函数中不包括ASP.NET核心。 我已经尝试搜索允许此功能的库,但是没有成功

如何在Azure函数中创建会话和cookie


首先,Azure函数的主要用例是无状态的,会话有点违背这一原则

如果您坚持这样做,您可以使用
HttpRequestMessage
来实现它,下面是我的测试代码

    public static async Task<HttpResponseMessage> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequestMessage req, 
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger function processed a request.");
            var resp = new HttpResponseMessage();

            var cookie = new CookieHeaderValue("session-id", "12345");

            cookie.Expires = DateTimeOffset.Now.AddDays(1);
            cookie.Domain = req.RequestUri.Host;
            cookie.Path = "/";

            resp.Headers.AddCookies(new CookieHeaderValue[] { cookie });

            return resp;

        }
公共静态异步任务运行(
[HttpTrigger(AuthorizationLevel.Function,“get”,“post”,Route=null)]HttpRequestMessage请求,
ILogger日志)
{
LogInformation(“C#HTTP触发器函数处理了一个请求。”);
var resp=新的HttpResponseMessage();
var cookie=新的CookieHeaderValue(“会话id”,“12345”);
cookie.Expires=DateTimeOffset.Now.AddDays(1);
cookie.Domain=req.RequestUri.Host;
cookie.Path=“/”;
resp.Headers.AddCookies(新CookieHeaderValue[]{cookie});
返回响应;
}
下面是我的结果图片,这是你想要的帮助,如果你还有其他问题,请随时告诉我


首先,Azure函数的主要用例是无状态的,会话有点违背这一原则

如果您坚持这样做,您可以使用
HttpRequestMessage
来实现它,下面是我的测试代码

    public static async Task<HttpResponseMessage> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequestMessage req, 
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger function processed a request.");
            var resp = new HttpResponseMessage();

            var cookie = new CookieHeaderValue("session-id", "12345");

            cookie.Expires = DateTimeOffset.Now.AddDays(1);
            cookie.Domain = req.RequestUri.Host;
            cookie.Path = "/";

            resp.Headers.AddCookies(new CookieHeaderValue[] { cookie });

            return resp;

        }
公共静态异步任务运行(
[HttpTrigger(AuthorizationLevel.Function,“get”,“post”,Route=null)]HttpRequestMessage请求,
ILogger日志)
{
LogInformation(“C#HTTP触发器函数处理了一个请求。”);
var resp=新的HttpResponseMessage();
var cookie=新的CookieHeaderValue(“会话id”,“12345”);
cookie.Expires=DateTimeOffset.Now.AddDays(1);
cookie.Domain=req.RequestUri.Host;
cookie.Path=“/”;
resp.Headers.AddCookies(新CookieHeaderValue[]{cookie});
返回响应;
}
下面是我的结果图片,这是你想要的帮助,如果你还有其他问题,请随时告诉我


谢谢你,乔治。提供的解决方案有效!可以使用什么来生成安全会话值?我可以使用GUID吗?@Raaz,这个名称和值是自定义的,所以可以。如果这对你有帮助,你可以接受它作为答案。谢谢你,乔治。提供的解决方案有效!可以使用什么来生成安全会话值?我可以使用GUID吗?@Raaz,这个名称和值是自定义的,所以可以。如果这对你有帮助,你可以接受它作为答案。