我开始了一个新的winforms项目,相当简单,有一些标签,文本框和一个按钮.所有代码运行正常.我忘记在创建应用程序之前将框架版本从4(使用VS 2010)更改为3.5,当我将其更改为3.5或3.5客户端配置文件时,我收到以下警告:
主要参考"Microsoft.CSharp"是一个框架程序集,无法在当前目标框架中解析." .NETFramework,版本= V3.5" .要解决此问题,请删除引用"Microsoft.CSharp"或将应用程序重新定位到包含"Microsoft.CSharp"的框架版本.
从一开始就用3.5设置重新创建它并不是一个很大的麻烦,我很确定我没有使用我需要的4框架中的任何东西.
我编写了一个简单的脚本来使用BeautifulSoup模块解析XML聊天记录.标准的soup.prettify()工作正常,除了聊天记录中有很多毛病.您可以看到脚本代码和我正在使用的一些XML输入文件:
码
import sys
from BeautifulSoup import BeautifulSoup as Soup
def parseLog(file):
file = sys.argv[1]
handler = open(file).read()
soup = Soup(handler)
print soup.prettify()
if __name__ == "__main__":
parseLog(sys.argv[1])
Run Code Online (Sandbox Code Playgroud)
测试XML输入
<?xml version="1.0"?>
<?xml-stylesheet type='text/xsl' href='MessageLog.xsl'?>
<Log FirstSessionID="1" LastSessionID="2"><Message Date="10/31/2010" Time="3:43:48 PM" DateTime="2010-10-31T20:43:48.937Z" SessionID="1"><From><User FriendlyName="Jon"/></From> <To><User FriendlyName="Bill"/></To><Text Style="font-family:Segoe UI; color:#000000; ">hey, what's up?</Text></Message>
<Message Date="10/31/2010" Time="3:44:03 PM" DateTime="2010-10-15T20:44:03.421Z" SessionID="1"><From><User FriendlyName="Jon"/></From><To><User FriendlyName="Bill"/></To><Text Style="font-family:Segoe UI; color:#000000; ">Got your message</Text></Message>
<Message Date="10/31/2010" Time="3:44:31 PM" DateTime="2010-10-15T20:44:31.390Z" SessionID="2"><From><User FriendlyName="Bill"/></From><To><User FriendlyName="Jon"/></To><Text Style="font-family:Segoe UI; color:#000000; ">oh, great</Text></Message>
<Message Date="10/31/2010" …Run Code Online (Sandbox Code Playgroud) 我正在开发一个包含多个子应用程序的应用程序,我想在30分钟不活动后实现自动注销.我有一个AuthController,其登录和注销操作使用Bootstrap.php以及前面的控制器插件映射到自定义/登录和/登出路由,如下所示:
class Plugin_SessionTrack extends Zend_Controller_Plugin_Abstract {
public function preDispatch(Zend_Controller_Request_Abstract $request)
{
$employeeSession = new Zend_Session_Namespace('employeeSession');
$employeeSession->setExpirationSeconds(10);
}
}
Run Code Online (Sandbox Code Playgroud)
我是PHP和Zend的新手,10秒后会话到底发生了什么?我把它设置为低测试.我想要发生的是,如果通过前端控制器插件的最后一次请求的时间大于30分钟,则销毁会话并将用户注销并将其重定向到/ login.
我可以清楚地看到我没有跟踪上次请求的时间,但我希望每次用户通过此preDispatch方法发出请求时都会刷新setExpirationSeconds.
也许需要使用cookie?我不需要实际启动注销操作,它可以在用户下次发出请求时进行处理,如果他们在过去半小时内没有做任何事情会话被销毁并且他们已经注销,这意味着如果我走开45分钟,我的屏幕看起来仍然相同,但如果我点击一个链接或尝试提交一个表格,我就把它发送给/ login.我稍后会担心某种类型的JS倒计时警告.
编辑:如果有人想看到它,这是我的引导程序:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
/**
* Custom routes:
*
* /login
* /logout
*/
protected function _initRoutes()
{
$router = Zend_Controller_Front::getInstance()->getRouter();
$loginRoute = new Zend_Controller_Router_Route('login', array('controller' => 'auth', 'action' => 'login'));
$logoutRoute = new Zend_Controller_Router_Route('logout', array('controller' => 'auth', 'action' => 'logout'));
$routesArray = array('login' => $loginRoute, 'logout' => $logoutRoute);
$router->addRoutes($routesArray);
}
protected function _initPlugins()
{ …Run Code Online (Sandbox Code Playgroud) Rails有一个.blank?如果Object为空,将返回true的方法?还是没有?可以在此处找到实际的代码.当我尝试1.9.2通过执行以下操作来复制它:
class Object
def blank?
respond_to?(:empty?) ? empty? : !self
end
end
Run Code Online (Sandbox Code Playgroud)
叫"".blank?返回true但调用"".blank?根据rails文档,返回false,对于.blank,空格字符串应该为真?在我查找我最初编写的代码之前:
class Object
def blank?
!!self.empty? || !!self.nil?
end
end
Run Code Online (Sandbox Code Playgroud)
并得到了相同的结果.我错过了什么?
我正在尝试使用URLLIB2打开URL并将内容读回到数组中.问题似乎是您不能在具有格式字符的URL中使用字符串插值,例如%20表示空格,%3C表示"<".有问题的URL中有空格和一些xml.
我的代码很简单,看起来像这样:
#Python script to fetch NS Client Policies using GUID
import sys
import urllib2
def GetPolicies(ns, guid):
ns = sys.argv[1]
guid = sys.argv[2]
fetch = urllib2.urlopen('http://%s/Altiris/NS/Agent/GetClientPolicies.aspx?xml=%3Crequest%20configVersion=%222%22%20guid=%22{%s}%22') % (ns, guid)
Run Code Online (Sandbox Code Playgroud)
为简洁起见,我缩短了URL,但是你得到了一般的想法,你得到一个'格式字符串的参数不够'错误,因为它假设你想要使用%3,%20和其他东西作为字符串插值.你怎么解决这个问题?
我有一个本地运行的sinatra应用程序,但是当我去添加样式时,我遇到了一个问题.我放置了CSS文件,public/css/style.css但没有提供.经过一些故障排除后我发现了Rack::Static中间件并解决了当时的问题,我添加的行config.ru是:
use Rack::Static, :urls => ["/css", "/images"], :root => "public"
Run Code Online (Sandbox Code Playgroud)
这让Rack 分别从public/css和提供css和图像public/images.当您在Haml中链接图像或样式时,您只需使用css/style.css并关闭公众.
我昨晚之后遇到的问题是,我在views目录中创建了一个小文件结构,以便更好地组织内容,所以现在当你访问/ contact/new路径时,它会使views/contacts/_form.hamlCSS无效.在页面上查看源确认Rack正在尝试提供CSS contacts/css/style.css而不是css/style.css正确显示主索引的正确路径.
我如何解决这个问题,以确保它始终从URL的根目录呈现,而不是基于当前正在呈现的视图的相对位置?我尝试过root => "#{File.dirname(__FILE__)/public",config.ru但没有帮助.
我已经解决了一个问题,要求你编写一个方法来确定所提供的数组中的字是字谜,并将字谜分组到输出中的子数组中.
我已经使用看似典型的方式来解决它,通过对单词进行排序并将它们分组为基于排序字符的哈希.
当我最初开始寻找一种方法时,我注意到String#sum存在将每个角色的序数加在一起.
我想尝试一些方法来确定一个基于使用的字谜sum.例如,"汽车"和"疤痕"是字谜,它们sum是425.
给定%w[cars scar for four creams scream racs]输出的预期输出(我已经使用哈希解决方案得到)是:[[cars, scar, racs],[for],[four],[creams,scream]].
看起来好像做了这样的事情:
input.each_with_object(Hash.new []) do |word, hash|
hash[word.sum] += [word]
end
Run Code Online (Sandbox Code Playgroud)
是一种方法,它给你一个哈希,其中键"425"的值是['cars','racs','scar'].我认为我缺少的是将其转换为预期的输出格式.
我在处理按钮单击事件的一些简单代码上遇到NullReferenceException错误.我仍然只需要在最后添加一些代码来实际显示消息框中"TcpAddr"的值.这将允许您运行程序,但单击该按钮会导致它抛出错误.
另外:更好的做法是将实际查询移出click事件,只需使click事件处理MessageBox.Show()?
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.Win32;
namespace LiteSwitch
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
RegistryKey RegKey = Registry.LocalMachine;
RegKey = RegKey.OpenSubKey("SOFTWARE\\Altiris\\Client Service");
object CurrDS = RegKey.GetValue("TcpAddr"); //This line causes the NRE Error
MessageBox.Show("Current DS:");
}
}
}
Run Code Online (Sandbox Code Playgroud) 鉴于此功能:
function foo( a,b,c ) {
//
}
Run Code Online (Sandbox Code Playgroud)
你怎么能做点什么,比如对每个参数使用console.log()?我知道你可以通过使用arguments关键字来查看参数.参数似乎返回看起来像Array的东西(但是类型为"object"[suprise .. not])但它不支持.forEach,我使用的是Chrome.
我尝试将函数修改为此函数,并期望它可以工作:
function foo( a,b,c ) {
arguments.forEach(function( arg ){
console.log( arg );
});
}
Run Code Online (Sandbox Code Playgroud)
您会收到TypeError:Object#没有方法'forEach'的错误.