问题列表 - 第14851页

ASP.NET C#静态变量是全局的吗?

今天我发布了一个小的asp.net beta网络应用程序,允许内部员工修改一些产品信息.我们开始遇到用户覆盖彼此产品信息的问题......即使每个工作人员正在编辑一个完全不同的行(产品).

经过一些谷歌搜索,我想我知道发生了什么,它与静态变量的使用有关,下面是一个快速粗略的问题示例:

// EditProductGroup.aspx.cs
public partial class EditProductGroup : System.Web.UI.Page
{

    private static int _groupId = 0;

    protected void Page_Load(object sender, EventArgs e)
    {
      _groupId = Convert.ToInt16(Request.QueryString["GroupID"]);

     // get existing ProductGroup information from database using 
     //_groupId to find the row and populate textboxes
    }

    private void saveProductGroupData()
    {
      // when user hits 'save changes' button, update row 
      //where the primary key column 'ProductGroupID' matches _groupId in the table
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,根据我的研究,一个静态变量实际上存在于整个应用程序中,这意味着如果多个用户正在使用该应用程序,他们将有效地读取"_groupId"的相同"值",并且在某些情况下实际设置它导致页面的另一个用户"实例"将数据保存到错误的行(ProductGroupId).

我的意图是静态变量与其他用户隔离,并且不应该是 - 每个用户都有自己的页面实例,因此他们自己的'_groupId'变量实例.

幸运的是,这一切都发生在dev/staging数据库而不是live db上.我不确定是否只需要删除'static'关键字来停止每个人设置/读取的变量.

有什么想法吗?谢谢

c# asp.net variables static

20
推荐指数
2
解决办法
4万
查看次数

检查下载是否完成

检测下载是否完成的最佳方法是什么,因为之后我想更新数据库.

我尝试了PHP手册中的一些代码,但它对我没有太大作用:

header("Content-Type: application/octet-stream"); 
header("Content-Length: ".filesize($file)); 
header("Content-Disposition: attachment; filename=$filename");

// buffered read not using readfile($file);

if ($fp = fopen($bestand, 'rb')) {
    while (!feof($fp)) {
        $buf = fread($fp, 4096);
        echo $buf;
        $bytesSent += strlen($buf);    /* We know how many bytes were sent to the user */
    }     
 }

if ($bytesSent == filesize($fp)) {
    //do something with db
}
Run Code Online (Sandbox Code Playgroud)

php download

8
推荐指数
1
解决办法
3万
查看次数

如何验证是否已检查DataGridViewCheckBoxCell

我已将数据表绑定到a DataGridView,此数据表有一个名为"Status"的列,该列属于类型Boolean.我可以通过代码将值设置为true或者false正常.

但是,我无法弄清楚如何检查是否已经检查了给定的行.这是我试图使用的代码,并且编译它显示错误"指定的强制转换无效".

任何帮助,将不胜感激.

if (rowIndex >= 0)
{
    var cbxCell = (DataGridViewCheckBoxCell)dgvScan.Rows[rowIndex].Cells["Status"];

    if ((bool)cbxCell.Value)
    {
        // Do stuff
    }
    else
    {
        // Do other stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

c# datagridview datagridviewcheckboxcell winforms

11
推荐指数
3
解决办法
3万
查看次数

编写重试逻辑最干净的方法?

偶尔我需要在放弃之前多次重试一次手术.我的代码是这样的:

int retries = 3;
while(true) {
  try {
    DoSomething();
    break; // success!
  } catch {
    if(--retries == 0) throw;
    else Thread.Sleep(1000);
  }
}
Run Code Online (Sandbox Code Playgroud)

我想在一般的重试函数中重写它,如:

TryThreeTimes(DoSomething);
Run Code Online (Sandbox Code Playgroud)

在C#中有可能吗?该TryThreeTimes()方法的代码是什么?

.net c#

434
推荐指数
13
解决办法
20万
查看次数

将具有多个事件参数的VB.NET事件转换为C#

我正在将用VB.NET编写的单元测试移植到用C#编写的大型项目中.然而,这个小曲子让我寻求帮助:

Public Sub object_DataChange(ByVal TransactionID As Integer, _
                             ByVal NumItems As Integer, _
                             ByRef ClientHandles As System.Array, _
                             ByRef ItemValues As System.Array, _
                             ByRef Qualities As System.Array, _
                             ByRef TimeStamps As System.Array) _
                             Handles myObject.DataChange

    '' Does event code here
End Sub
Run Code Online (Sandbox Code Playgroud)

转换此活动的最佳方式是什么?此外,这是一个很好的实例,用于EventHandler<>将我的参数合并到一个结构中吗?

c# vb.net events event-handling vb.net-to-c#

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

如何在facebook中检查特殊权限

如果用户已授予我的网站发布流权限,我该如何检查javascript

javascript api facebook fbjs

11
推荐指数
3
解决办法
8627
查看次数

将涵盖.NET中的TDD,DDD和设计模式的书籍

我想获得一本书,它将真正让我全面了解使用C#,TDD,ASP.NET MVC,DDD和设计模式(如存储库模式)的现代ASP.NET开发.我非常能胜任C#和ASP.NET MVC,但想填补空白.

如果您对一两本涵盖这些主题的书籍有过良好的体验,请分享一下吗?

asp.net tdd asp.net-mvc domain-driven-design repository-pattern

12
推荐指数
3
解决办法
3490
查看次数

用SageMath找Sin(i)

你怎么能找到sin(i)圣人?

我想和Sage做一些复杂的分析.

以下命令不起作用

sin(i)
sinh(i)
Run Code Online (Sandbox Code Playgroud)

math sage

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

3d bin打包算法

我正在寻找任何3d bin打包算法的确定性实现,即在一个或多个较大的算法中包装许多小的和不同的长方体.解决方案可能与最佳解决方案不同.

它应该用C,C++,Java,C#,IronPython,IronRuby或任何其他可以从.Net代码中存储的语言编写.

我发现这个C算法http://www.diku.dk/hjemmesider/ansatte/pisinger/3dbpp.c,但它不会旋转长方体以找到最合适的.我没有将它们颠倒旋转,但应该可以进行水平旋转.

language-agnostic algorithm math bin-packing

10
推荐指数
1
解决办法
1万
查看次数

Jinja2"递归"标签实际上如何工作?

我正在尝试在jinja2中编写一个非常简单的树行走模板,使用一些具有重载特殊方法的自定义对象(getattr,getitem等)这看起来很简单,并且树的等效python行程工作正常,但是有一些东西关于Jinja的递归工作的方式,我不明白.代码如下所示:

from jinja2 import Template

class Category(object):

    def __init__(self, name):
        self.name = name
        self.items = {}
        self.children = True

    def __iter__(self):
        return iter(self.items)

    def add(self, key, item):
        self.items[key] = item
        return item

    def __getitem__(self, item):
        return self.items[item]

    def __getattr__(self, attr):
        try:
            return self.items[attr]
        except KeyError:
            raise AttributeError(attr)

    def __str__(self):
        return "<Category '%s'>" % self.name

template = '''
<saved_data>
{% for key in category recursive %}
    {% set item = category[key] %}
    {% if item.children %}
        <category name="{{key}}">
            {{ loop(item) }} …
Run Code Online (Sandbox Code Playgroud)

python recursion templates jinja2

8
推荐指数
1
解决办法
6135
查看次数