我有一个用Google App Engine编写的小应用程序,我使用login: required
app.yaml中的基本进行身份验证.这为我提供了Google登录框,其中包含"保持登录状态"选项.但是,即使使用"保持登录状态"选项,我也会很快(一两天内)退出.有没有办法延长这个超时?有没有办法使用users
API?
我是编程/ python的新手,所以我很感激我能得到的任何帮助.我想通过COM使用Excel将excel文件保存为特定格式.这是代码:
import win32com.client as win32
def excel():
app = 'Excel'
x1 = win32.gencache.EnsureDispatch('%s.Application' % app)
ss = x1.Workbooks.Add()
sh = ss.ActiveSheet
x1.Visible = True
sh.Cells(1,1).Value = 'test write'
ss.SaveAs(Filename="temp.xls", FileFormat=56)
x1.Application.Quit()
if __name__=='__main__':
excel()
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果我没有明确知道它的代码,我该如何指定FileFormat?浏览文档,我找到了关于FileFormat对象的参考.我对如何访问XlFileFormat对象并以一种我可以找到它的枚举值的方式导入它一无所知.
谢谢!
我正在研究一个用C#(asp.net)构建的大型Web应用程序.我有一个简单的aspx页面,它为客户端浏览器提供本地化字符串,以便在javascript控件中使用.为了获得字符串,我执行以下操作:
ResourceManager _resources = new ResourceManager(_pathname, typeof(ARM).Assembly);
ResourceSet rs = _resources.GetResourceSet(culture, false, false);
//loop through rs and write the keys & values out to the client in plaintext
Run Code Online (Sandbox Code Playgroud)
这一切都正常,除了在Clean/Build或Rebuild之后立即对页面的第一个请求(如果我只是进行一些更改,然后Build,它工作正常).所以在第一个请求时,当我尝试迭代ResourceSet时,我得到一个空引用异常.但是,如果我在错误之后刷新页面,那么从那时起它就能正常工作.
有谁知道为什么会发生这种情况?
是否有任何已建立的命名或编码约定用于在C#中定义命名空间或类型别名?
对于那些不知道的人,C#语言有一个功能,可以在名称空间和类型的文件本地定义别名.当与第三方库存在命名冲突以及缩短代码中的类型名称时,这可能很有用.下面是它的样子的一个例子.
using Forms = System.Windows.Forms;
Run Code Online (Sandbox Code Playgroud)
我在网上看到的大多数示例都倾向于使用未缩写的大写名称作为别名,例如上面示例中的别名Forms.在某些地方,包括官方MSDN页面,该页面解释了命名空间System.Collections的colAlias别名的示例.为了使其更复杂,根据是否定义了命名空间别名或类型别名,可能会优先选择一些指南.
为了给出一些背景,说明为什么我对别名的指南感兴趣,我会解释我在做什么.在最近的一个项目中,我开始简化一个模式,其中我有几个继承自通用基类的类,它通过使用类型别名接受复杂类型参数.
因此,使用此技术,下面的复杂示例将变得更加可读,一旦应用了类型别名.
public class MyClass: MyGenericBaseClass<TripleLindyFancyAlgorithm<List<SomeValueType>>, List<SomeValueType>>
{
public override List<SomeValueType> DoSomething(TripleLindyFancyAlgorithm<List<SomeValueType>> operation)
{
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
并且在使用类型别名的must clean版本下面.
using Result = List<SomeValueType>;
using Algorithm = TripleLindyFancyAlgorithm<List<SomeValueType>>; // Note: cannot reference an alias within an alias definition!
public class MyClass: MyGenericBaseClass<Algorithm, Result>
{
public override Result DoSomething(Algorithm operation)
{
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
虽然这看起来更简单,但很容易忘记像Result这样的别名实际上只是List的别名,并且没有名为Result的实际类型.为了在视觉上分离概念,我正在考虑遵循一些前缀约定,类似于在私有成员之前使用下划线'_',以帮助区分类型别名和实际类型.在我这样做之前,我想确保我没有重新发明轮子,因为可能已经有更多已建立的惯例.
我想开始使用gettext来处理我在Web项目上的翻译(PHP 5).由于它是一个广泛使用的标准,具有良好的声誉,它似乎是最好的选择.
但是,我也听到有关服务器不兼容的事情,并且它是非线程安全的.这对我使用它的项目意味着什么?由于我构建了许多人使用的东西,因此我的代码工作非常重要.
我们是在谈论小问题(比如仍在使用PHP 4的人)还是主要的问题,比如在websevers上分发和安装gettext的问题很少?
我想创建一个LinkedHashMap,它将根据可用内存限制其大小(即,当freeMemory + (maxMemory - allocatedMemory)
达到某个阈值时).这将用作缓存的一种形式,可能使用"最近最少使用"作为缓存策略.
我担心的是,allocateMemory还包括(我假设)未垃圾收集的数据,因此将高估估计已用内存的数量.我担心这可能产生的意外后果.
例如,LinkedHashMap可能会继续删除项目,因为它认为没有足够的可用内存,但可用内存不会增加,因为这些已删除的项目不会立即被垃圾回收.
有没有人有这种类型的经验?我的顾虑值得关注吗?如果是这样,有人可以建议一个好的方法吗?
我应该补充一点,我也希望能够"锁定"缓存,基本上说"好吧,从现在开始不要因为内存使用问题而删除任何东西".
我最近发现将调用C++中哈希映射的实现unordered_map
.
当我抬起头,为什么他们不只是使用hash_map
,我发现,显然有与实施的兼容性问题hash_map
是unordered_map
可以解决(更多关于它在这里).
该wiki页面没有提供更多信息,所以我想知道是否有人知道hash_map
该unordered_map
解决方案的一些问题.
我正在尝试做类似于这篇文章的内容,我不会从特定实体中撤回所有列,但是我的框架使用了继承,并且在将其转换为匿名类型后,我失去了实体类型的范围.
我的Entity Framework的结构有一个名为Action的基本实体.从这里开始,我创建了两个名为Event和Activity的继承实体.我想撤回最后的X个动作并将它们传递给我的强类型视图,该视图接受一个Action,并从那里确定它是一个Activity还是Event并呈现正确的局部视图.
if(Model.GetType() == typeof(Event))
{
//render Event view
}
else if(Model.GetType() == typeof(Activity))
{
//render Activity view
}
Run Code Online (Sandbox Code Playgroud)
我可以将最后10个作为匿名类型拉出然后进行转换:
var result = from a in new DataContext().Actions
where a.UserId == someGuidValue
select new { a.CreatedOn, a.Summary };
List<Action> list = result.AsEnumerable()
.Select(o => new Action {
CreatedOn = o.CreatedOn,
Summary = o.Summary
}).ToList();
Run Code Online (Sandbox Code Playgroud)
但是,一旦我将新的动作列表传递给我的强类型视图,它就失去了它是一个活动还是一个事件的范围,因为它被强制转换为动作.我的问题是,在没有暴露鉴别器列的情况下,有没有办法将每个项目转换为正确的类型,或者我是以错误的方式进行此操作?
我有一个验证类,我想用它来检查我的应用程序中的所有值是否在允许的约束内.
我将一个对象传递给验证类中的静态函数,来自另一个类(在本例中为User)
function validate() {
$errors = Validation::validate($this);
}
Run Code Online (Sandbox Code Playgroud)
在验证类中,我创建一个新对象,然后继续处理传递的参数对象的属性(或者至少这是我想要做的).
function validate($object) {
$validation = new Validation();
print_r($object);
print_r('<br />');
foreach($object as $key => $val) {
print_r($val);
isset($val->maxlength) ? $validation->validateLengthNoMoreThan($val->value, $val->maxlength) : null;
isset($val->minlength) ? $validation->validateLengthAtLeast($val->value, $val->minlength) : null;
isset($val->required) && ($val->required == true) ? $validation->validateNotBlank($val->value) : null;
}
return $validation->errors;
}
Run Code Online (Sandbox Code Playgroud)
我在函数中打印出的值纯粹是出于测试目的.我不明白的是为什么对象在foreach循环之外打印得很好,但如果我尝试访问循环中的值,则不会显示任何内容.
这是foreach循环外部显示的内容:
User Object ( [username:protected] => Property Object ( [value] => aaa [maxlength] => 12 [minlength] => 3 [required] => 1 ) [firstname:protected] =Property Object ( [value] …
我们在会话中存储两个对象.不知何故,来自另一个用户的一个对象被加载到另一个用户的会话中.用户应该无法访问这些特定数据,一旦他们看到它就知道出现了一些非常错误的信息.
我们对他提供的数据有视觉证据,除非会议混淆,否则肯定没有办法发生.这是一个非常可怕的情况,我们无法弄清楚(我们无法重现它).我们唯一的答案是责怪ASP.NET StateServer混合会话变量,这是完全不可接受的,并使我们处于不利地位.
我们的应用程序是使用StateServer cookieless="false"
会话模式和FormsAuthentication 在带有IIS6的Windows Server 2003上运行的ASP.NET 2.0应用程序.
还有其他人有这个问题吗?我们怎么解决呢?
asp.net ×2
c# ×2
namespaces ×2
php ×2
alias ×1
asp.net-mvc ×1
c++ ×1
com ×1
enumeration ×1
excel ×1
gettext ×1
hashmap ×1
iis-6 ×1
inheritance ×1
java ×1
linq ×1
linq-to-sql ×1
object ×1
python ×1
security ×1
session ×1
stateserver ×1
stl ×1