我正在尝试自动构建使用Bloomberg插件降低实时价格的Excel 2007电子表格.问题是,当我通过win32com打开Excel时,Bloomberg插件无法加载(因此所有公式都以"#NAME?"错误结束).
手动卸载并重新安装插件有效,但从录制的宏复制VBA代码会导致"运行时错误'13':类型不匹配"错误.我可以单击"结束"按钮,一切运行正常,但我想让它完全自动化.
我的代码是:
import win32com.client
xl = win32com.client.gencache.EnsureDispatch("Excel.Application")
xl.Visible = True
MainWorkBook = xl.Workbooks.Add(1)
xl.AddIns("Bloomberg Excel Tools").Installed = False
xl.AddIns("Bloomberg Excel Tools").Installed = True
Run Code Online (Sandbox Code Playgroud)
设置DisplayAlerts = False不会捕获运行时错误.
在我的领域中,我有一些“处理器”类,它们包含大部分业务逻辑。使用带有默认约定的StructureMap,我将存储库注入这些类的各种IO(数据库,文件系统等)中。例如:
public interface IHelloWorldProcessor
{
string HelloWorld();
}
public class HelloWorldProcessor : IHelloWorldProcessor
{
private IDBRepository _dbRepository;
public HelloWorldProcessor(IDBRepository dbRepository)
{
_dbRepository = dbrepository;
}
public string HelloWorld(){ return _dbRepository.GetHelloWorld(); }
}
Run Code Online (Sandbox Code Playgroud)
现在,有一些存储库可供所有处理器使用,因此我做了一个基类,如下所示:
public class BaseProcessor
{
protected ICommonRepository _commonRepository;
public BaseProcessor(ICommonRepository commonRepository)
{
_commonRepository = commonRepository;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我的其他处理器继承自该处理器时,每个处理器都会收到一个编译器错误,说没有BaseProcessor的构造函数,该构造函数采用零参数。
有没有办法做我想在这里做的事情?就是说,是否要将公共依赖项注入到我的其他类可以使用的基类中,而不必将注入内容写入每个基类中?
我即将为我的网站创建一个注册表单.我需要检查变量,并仅在包含字母,数字,_或 - 时接受它.
如何用正则表达式做到这一点?我曾与他们合作preg_replace(),但我认为情况并非如此.另外,我知道"ereg"功能已经死了.有解决方案吗
我最近推出了一项服务,这意味着我不能再直接在网站上工作了,或者我冒了风险.
我无法找到任何"标准"或"最佳"方式来制作开发服务器.我见过的两件事是
a)使用GIT或SVN来托管数据(这不能解决我的问题,我需要能够在某处开发,最好不是我的家用电脑)
b)Capistrano(对于Rails,PHP有什么东西吗?)
我正在考虑的当前解决方案是在"development.domain.com"上放置服务器的完整副本,然后允许我处理所有内容,我可以简单地将文件复制到主要部分.
这是一个可行的解决方案吗?什么是最佳解决方案?(单独的服务器,特殊工具等)
编辑该系统由许多开发人员开发.服务器设置已经过大幅调整,以实现系统的全部功能和安全性.在我自己的计算机上进行开发不是一个可行的解决方案,也不是内联网类型的系统,因为我们的程序员都不在同一个位置.
我正在寻找一种服务器上的解决方案.
嘿家伙我需要一种密码保护我的应用程序的方式,所以当用户点击应用程序密码actitivty首先出现,他们只能访问应用程序,如果密码正确.它的一部分项目正在做,但我坚持这一点.PLease家伙任何肝脏将不胜感激.
我只需做一个简单的比较即
byte[] keya = System.Text.Encoding.ASCII.GetBytes("myFamilyColumn:1");
byte[] keyb = System.Text.Encoding.ASCII.GetBytes("myFamilyColumn:1");
Console.WriteLine(keya == keyb);
Run Code Online (Sandbox Code Playgroud)
但结果是假的,他们的哈希码也不同,我在这里遗漏了什么?
提前致谢 !
由于我不会真正讨论的原因,我需要在 AppleScript 中编写一些内容,专门通过 Safari 下载一些文件。(只是某人双击运行的东西,它将打开 Safari 并在启动一些下载时向他们显示一个网页。)我可以使用 AppleScript 设置文档的 URL,但这不会下载文件。这是 Safari 认为它可以理解的文件,因此它只是尝试直接打开它。我需要将文件下载到文件系统。
我在 Google 上找到的所有内容都提到了“URL 访问脚本”,但是当我使用它时,AppleScript 编辑器要求我选择它是什么应用程序,而我似乎没有(或者不知道它在哪里)。其他建议是调用命令行工具来下载文件,但这里的问题显然是用户在 Safari 中有一些 cookie 授权他们访问服务器资源,因此命令行工具只会收到错误。
所以我想这个问题可以分解为:
tell application "Safari"下载文件?Downloads文件夹?我正在为我正在编写的一些代码(在Visual Studio 2012中)开发一套相当大的测试.在大多数情况下,运行单元测试并不是什么大问题.但我还包括许多具有更多外部基础架构依赖性的集成测试.测试次数与重新设置测试之间的基础架构依赖性相结合,导致整个套件的测试运行时间相当长(目前大约45分钟).
运行测试没什么大不了的.单元测试将在每晚办理登机手续,集成测试时运行.但是,在尝试分析所有测试的代码覆盖率时,我遇到了一个问题.未创建代码覆盖率结果,输出窗口显示以下内容:
发送到net.pipe://megara/vstest.discoveryengine/14108的此请求操作未在配置的超时(00:30:00)内收到回复.分配给此操作的时间可能是较长超时的一部分.这可能是因为服务仍在处理操作,或者因为服务无法发送回复消息.请考虑增加操作超时(通过将通道/代理强制转换为IContextChannel并设置OperationTimeout属性)并确保该服务能够连接到客户端.
我不确定它在哪里引导我.我没有使用任何iContextChannel东西,所有的测试运行都内置在Visual Studio中.所以我真的不知道在哪里/如何增加任何类型的超时.有人知道我应该在哪里看吗?
在 MVC 中,这种事情是相当微不足道的。假设我有一个 MVC 操作签名:
public ActionResult SomeAction(InjectedObject a, ConstructedObject b)
Run Code Online (Sandbox Code Playgroud)
假设来自客户端的请求包含,并且我想在框架管道中自动ConstructedObject构建。InjectedObject(在这个例子中,InjectedObject涉及很多操作,甚至可能是所有操作。)我可以InjectedObjectModelBinder : IModelBinder在应用程序启动时创建并注册该绑定器的实例。
该活页夹将简单地构造一个InjectedObject我需要的实例。(来自请求数据、其他来源、来源组合等)这对于横切关注点非常有效。
但是,有没有办法在 WebAPI 中做到这一点?有一个新的IModelBinder,但它的使用似乎假设输入上只有一个模型。到目前为止,我的谷歌搜索也指出了这一假设。在 WebAPI 中是否有可能将某些东西作为横切关注点注入到管道中,同时仍然拥有帖子正文中构建的模型?
这里的具体用例是我想构建一个与授权相关的自定义对象,在本例中是从请求标头构建的。我可以在行动中构建它,但每个行动都需要这样做。我可以在控制器上添加扩展方法,但这会损害单元测试。首选方法是将其简单地注入到管道中,以便我可以在对控制器操作进行单元测试时注入模拟。
WebAPI 支持这个吗?或者也许还有另一种首选方法?
我正在执行以下命令:
sqlcmd -i "\\path\to\sqlfile.sql" -S "ServerName" -d "DBName" -y 0
Run Code Online (Sandbox Code Playgroud)
其中sqlfile.sql是一些DECLARE变量语句,然后是嵌套SELECT ... FOR XML Path('...')语句树,最终生成一个大的 XML 字符串作为输出。
在 PowerShell 命令提示符中,我将输出通过管道传输到一个文件:
sqlcmd -i "\\path\to\sqlfile.sql" -S "ServerName" -d "DBName" -y 0 | Out-File C:\path\to\output.xml
Run Code Online (Sandbox Code Playgroud)
(或者我可以-o在命令本身上使用,无论哪种方式我都没有强烈的偏好。)
这里的目标是拥有一个 XML 文件,然后可以将其加载到另一个下游流程中。这很有效,除了目前让我卡住的一个细节。输出(到文件)自动换行为 2,033 个字符。这意味着如果(在大多数情况下)包装破坏了标签,它会生成损坏的 XML:
<SomeTag>This is some content just to illustrate.</Som
eTag>
Run Code Online (Sandbox Code Playgroud)
我试过-w在sqlcmd论点上使用。在测试中,如果值低于 2,033,但在任何高于 2,033 的值(20000例如,这将足够宽)时将成功换行,则将保持相同的最大值 2,033。
我还尝试-replace在管道输出之前调用以尝试删除换行符,例如:
([the sqlcmd command above]) -replace "\r", "" | Out-File C:\path\to\output.xml
Run Code Online (Sandbox Code Playgroud)
包括对 …
c# ×2
php ×2
.net ×1
android ×1
applescript ×1
asp.net-mvc ×1
bloomberg ×1
constructor ×1
download ×1
excel ×1
inheritance ×1
linux ×1
login ×1
passwords ×1
powershell ×1
python ×1
regex ×1
safari ×1
sql-server ×1
staging ×1
structuremap ×1
unit-testing ×1
username ×1
vb.net ×1
win32com ×1
xml ×1