小编Car*_*ito的帖子

使用会话与静态类保存用户数据

我正在一个带有 C# 后端的 ASP.NET 网站上工作。De webserver 运行在远程服务器上,因为我需要位于客户端 pc 上的一些数据(例如:用户 ID),我编写了一个客户端和服务器应用程序。因此,当用户启动客户端应用程序时,它连接到网络服务器但尚未加载页面,网络服务器启动我的服务器,要求客户端提供一些数据。客户端响应后,服务器拥有所需的数据,并为客户端加载网页。

为了轻松访问用户的某些属性,我想使用 Session 变量。但是当客户端将其数据发送到服务器时,Session 变量尚不可用。当我尝试访问它时,我得到一个 NullReferenceException。我相信这是因为 Application_AcquireRequestState 事件尚未触发(位于 Global.asax.cs)。因为我需要使用客户端的数据,所以我把它保存在一个静态类中,这样我就可以随时轻松访问它。

有没有更好的解决方案?我想到了等待 Application_PostAcquireRequestState 事件触发,因为我认为 Session 变量在那个时候是可用的。这样我就可以将静态类中的数据加载到用户的会话变量中。这是一个好主意,还是我应该坚持当前的情况(静态类)?因为它有效,但感觉这不是最好的方法。

提前致谢!

c# asp.net session

5
推荐指数
1
解决办法
2740
查看次数

如何使用XCB绘制标题栏

我在c中使用一个简单的窗口管理器libxcb,我正在尝试用标题栏,图标和最小/最大/关闭按钮来装饰窗口.

我在Xephyr测试我的wm.我可以生成一个新的xterm窗口,移动它并调整它的大小.但现在我想装饰新的xterm窗口(或任何其他应用程序),以便它有一个标题栏,图标和最小/最大/关闭按钮.

在我的Linux机器上,我刚刚安装了一个Gtk主题,如果我以Firefox为例,那么在我在我的设置中设置该主题后,窗口就会被装饰.所以在这种情况下,我认为应用窗户装饰的是Gtk.这是如何运作的?

我读到EWMH窗口属性,_NET_WM_WINDOW_TYPE可用于确定如何处理装饰窗口.所以我想我可以检查窗口类型是否是_NET_WM_WINDOW_TYPE_NORMAL,WM_NAME从应用程序中获取,然后在其上面手动绘制标题栏.

这是你应该如何正常绘制窗饰?或者我可以使用Gtk(或其他东西)吗?

c linux xcb ewmh

4
推荐指数
1
解决办法
641
查看次数

如何在C中打印数组元素的摘要

我正在尝试打印数组中的整数摘要.例如,如果用户键入:"1 4 5 8"结果应为:"1 5 10 18"(0 + 1 = 1,1 + 4 = 5,5 + 5 = 10,10 + 8 = 18)我使用输入运行此代码:"1 1 1"第一次结果是:"1 2 3 32767 256"和任何其他时间按预期运行:\执行此操作的算法很简单,它可以工作,但我已经习惯了OOP刚刚开始学习C.这里的东西看起来不对..用指针或malloc的东西?任何帮助?实现这个的"正确"方式是什么?干杯..!

#include <stdio.h>
#include <stdlib.h>
#define MAX 50

/*function prototype*/
int* summary(int a[], int length);
void printArray(int array[], int i);

int main(){
    int k;
    int length=0;
    int userArray[MAX];
    printf("Enter some numbers:\n");

    while((scanf("%d", &k) ==1)){
        userArray[length] = k;
        length++;

        /*print the array after 'Enter' key pressed*/
        if(getchar() == '\n'){
            summary(userArray, length);
            length = …
Run Code Online (Sandbox Code Playgroud)

c arrays malloc pointers

2
推荐指数
1
解决办法
554
查看次数

标签 统计

c ×2

arrays ×1

asp.net ×1

c# ×1

ewmh ×1

linux ×1

malloc ×1

pointers ×1

session ×1

xcb ×1