问题列表 - 第20244页

会话中存储的变量是否在整个页面生命周期中反序列化一次或多次?

我想以类似于CodeProject讨论的方式包装Session变量.

public static class WebSession
{
  private const string CurrentUserKey = "CurrentUser";

  private static HttpSessionState Session
  {
    get { return HttpContext.Current.Session; }
  }

  public static bool Exists
  {
    get { return Session != null; }
  }

  public static User CurrentUser
  {
    get { return Session[CurrentUserKey] as User; }
    set { Session[CurrentUserKey] = value; }
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我的问题:如果我必须CurrentUser在同一页面中多次访问,是否可以通过将其分配给本地变量而不是访问包装属性来提高性能?或者HttpSessionState确保每个请求只对对象进行一次反序列化,以便在同一个http请求中的后续调用不再需要花费多少钱?

谢谢你,亚伦

c# asp.net session-variables

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

pygtk:确定键是一个修饰符

我有按键事件处理程序,我需要确定按下哪种键:修饰符与否?

它不在event.state中,因为这个字段只有在用其他东西按下修改器时才有效,但我需要这个用于单个键(即只需按下control或alt,......).

python gtk user-interface pygtk

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

WebClient生成(401)未授权错误

我在Windows服务中运行以下代码:

WebClient webClient = new WebClient();
webClient.Credentials = new NetworkCredential("me", "12345", "evilcorp.com");
webClient.DownloadFile(downloadUrl, filePath);
Run Code Online (Sandbox Code Playgroud)

每次,我都会得到以下异常

{"The remote server returned an error: (401) Unauthorized."}
Run Code Online (Sandbox Code Playgroud)

具有以下内部异常:

{"The function requested is not supported"}
Run Code Online (Sandbox Code Playgroud)

我知道凭证是有效的,事实上,如果我在我的网络浏览器中下载urrl并输入我的凭据evilcorp.com\me,密码为12345,则下载正常.

但奇怪的是,如果我将我的凭证指定为me@evilcorp.com并且12345,则它似乎失败了.

有没有办法格式化凭据?

c# webclient download

32
推荐指数
2
解决办法
5万
查看次数

带结构和字符串的C#HashSet

我创建了以下代码来验证一系列"元组"的唯一性:

struct MyTuple
{
   public MyTuple(string a, string b, string c)
   {
      ValA = a; ValB = b; ValC = c;
   }
   private string ValA;
   private string ValB;
   private string ValC;
}

...

HashSet<MyTuple> tupleList = new HashSet<MyTuple>();
Run Code Online (Sandbox Code Playgroud)

如果我是正确的,我将不会得到两个具有相同值的元组,HashSet这要归功于我正在使用一个结构.如果没有实现类IEquatable或类似的东西我就不能有相同的行为(我没有太多挖掘如何做到这一点).

我想知道是否有一些关于我做什么的问题.性能方面,考虑到里面的字符串是引用类型,我不希望结构的使用成为问题.

编辑:我希望我的HashSet永远不会包含两个具有相同值的字符串的元组.换句话说,我希望字符串的行为类似于值类型.

c#

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

对于树层次结构,REST URL架构应该如何?

我们假设我有商店,商店货架和货架上的产品.因此,为了获得商店货架上的产品列表,我将使用以下请求:

GET http://server/stores/123/shelves/456/products
Run Code Online (Sandbox Code Playgroud)

从这里,我如何获得个别产品?我应该使用:

GET http://server/products/789
Run Code Online (Sandbox Code Playgroud)

要么:

GET http://server/stores/123/shelves/456/products/789
Run Code Online (Sandbox Code Playgroud)

第一种方法更简洁,因为一旦获得产品列表,如果您只想查看特定产品的详细信息,则不关心它属于哪个商店.但是,第二种方法更符合逻辑,因为您正在查看特定商店中特定货架的产品.

同样,PUT/DELETE操作怎么样?

DELETE http://server/stores/123/shelves/456/products/789
Run Code Online (Sandbox Code Playgroud)

要么:

DELETE http://server/products/789
Run Code Online (Sandbox Code Playgroud)

为这样的树层次结构设计模式的正确方法是什么?

PS如果我误解了有关REST架构的一些内容,请提供有关如何使其更好的示例.有太多人喜欢说"REST不是CRUD"和"REST不是RPC",然后绝对没有提供良好RESTful设计的澄清或示例.

rest url schema hierarchy

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

在iPad上运行iPhone SDK

我想知道是否有人知道你是否可以在iPad上运行iPhone SDK.尝试浏览apple.com,但没有找到任何有用的东西......

我希望能够开发 - 从头到尾 - iPad上的iPhone应用程序,并想知道这是否可能......

iphone ipad

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

使用WHERE IN会损害查询性能吗?

我听说使用IN子句会影响性能,因为它没有正确使用索引.见下面的例子:

SELECT ID, Name, Address 
FROM people
WHERE id IN (SELECT ParsedValue FROM UDF_ParseListToTable(@IDList))
Run Code Online (Sandbox Code Playgroud)

使用下面的表格获得这些结果会更好吗?

SELECT ID,Name,Address
FROM People as p
INNER JOIN UDF_ParseListToTable(@IDList) as ids
ON p.ID = ids.ParsedValue
Run Code Online (Sandbox Code Playgroud)

这取决于您使用的SQL Server版本吗?如果是这样哪些受影响?

sql-server

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

如何避免代码重复实现const和非const迭代器?

我正在实现一个具有STL类接口的自定义容器.我必须提供一个常规迭代器和一个const迭代器.两个版本的迭代器的大多数代码都是相同的.我怎样才能避免这种重复?

例如,我的容器类是Foo,我正在实现FooIteratorFooConstIterator.两个迭代器都必须提供operator++()相同的方法.

我的问题类似于如何删除类似的const和非const成员函数之间的代码重复?但是那个问题的答案特定于const和非const方法,尤其是访问器.我没有看到这可能会如何推广到迭代器问题.

我应该FooIteratorFooConstIterator其他非const方法派生并扩展它吗?这要么导致虚拟方法或方法隐藏,这在这里似乎不合适.

也许FooIterator应该包含一个FooConstIterator.虽然这种方法确实减少了实现重复,但它似乎重新引入了许多样板方法定义.

是否有聪明的模板技术从单个定义生成两个迭代器?或许有一种方法 - 颤抖 - 使用预处理器来消除这些几乎相同的类.

我已经尝试查看我的本地STL实现,看看它是如何处理它的.有很多辅助类,我在设计中遇到了麻烦,但看起来功能很简单.

在以前的项目中,我的自定义容器是在标准STL容器之上构建的,所以我不必提供自己的迭代器.在这种情况下,这不是一个选项.

c++ iterator const dry

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

如何将PHP包含定义为字符串?

我试过了:

$test = include 'test.php';
Run Code Online (Sandbox Code Playgroud)

但那只是正常包含文件

php include

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

Paperclip S3下载远程图像

我如何下载远程图像(http协议,url在image_remote_url属性中)并通过Paperclip将其保存为S3的附件?

class Product < ActiveRecord::Base
  require 'open-uri'
  attr_accessor :image_remote_url
  has_attached_file :photo,
    :storage => :s3,
    :s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
    :path => ":class/:id/:style.:extension",
    :bucket => "my_bucket",
    :styles => {
      :icon => "32x32#",
  }

  def fetch_image
    # how should this method look ?
  end

end
Run Code Online (Sandbox Code Playgroud)

"fetch_image"方法应该怎么样?

ruby-on-rails amazon-s3 paperclip

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