小编AR.*_*AR.的帖子

什么是依赖注入?

已经发布了几个关于依赖注入的具体问题的问题,例如何时使用它以及它有哪些框架.然而,

什么是依赖注入以及何时/为什么应该或不应该使用它?

language-agnostic design-patterns dependency-injection terminology

2984
推荐指数
25
解决办法
80万
查看次数

如何在运行脚本SQL Server 2005时禁止T-SQL警告?

是否可以抑制T-SQL脚本生成的警告?如果是这样,怎么样?

我知道我可以用'转换'受影响的记录'的消息

SET NOCOUNT ON
Run Code Online (Sandbox Code Playgroud)

但有警告的等价物吗?例如:

Warning: Null value is eliminated by an aggregate or other SET operation.
Run Code Online (Sandbox Code Playgroud)

如果我期待这些错误,它有助于从大脚本中筛选真实错误.

谢谢.

sql sql-server suppress-warnings

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

确保公共VBA方法不会显示在Excel宏列表中

在Excel VBA(2003)中,我注意到模块或ThisWorkbook中没有任何参数的任何PublicFriend Sub方法都将显示为可由用户运行的宏.即,当用户转到工具 - >宏 - >宏...(或Alt + F8)时,该方法将显示在可以运行的列表中.

为了理智(组织,维护等),我需要将代码分成模块.我希望找到一种非hacky方法来隐藏用户的某些方法,但仍允许其他代码模块可见.请注意,所有代码都包含在同一个应用程序中,因此不会调用任何外部代码.

我当前的解决方法是使用返回布尔值而不是Sub s的Function,并忽略返回值.eJames建议在Sub中使用可选参数,也可以从宏列表中隐藏该方法.

然而,这些都不是正确的,所以任何关于如何构建一个非平凡的Excel VBA应用程序的建议将非常感激.

excel vba

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

如何捕获jQuery AJAX错误?

将AJAX请求提交到站点时,可以使用jQuery promise方法轻松处理服务器端错误..done(),.fail()等等.但是,对于某些请求(例如一个无效的网站或一个不接受跨域请求),异常的调用时立即发生.以下是控制台中一个错误的示例:

XMLHttpRequest无法加载http://someotherserver/api/blahblah.原产地 http://localhost:52625不被访问控制允许来源允许的.

是的,我知道CORS ......这不是问题.我实际上在做的是尝试使用web api调用来测试服务器IP /名称是否正确

我知道errorjQuery请求语法中的选项:

$.ajax({
    url: remoteURL,
    type: 'GET',
    error: function (err) {
        console.log("AJAX error in request: " + JSON.stringify(err, null, 2));
    }
}).etc.etc.
Run Code Online (Sandbox Code Playgroud)

此处处理错误,但仍在控制台中记录异常.将上述内容包装在一个try-catch块中似乎是合理的,但这似乎没有帮助.

我发现了这个问题,但解决方案涉及破解jQuery代码.当然有一种更好的方法来捕获这些错误,而不是堵塞控制台日志?

javascript ajax error-handling jquery

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

Aurelia中fetch()的错误处理

我有一个API,其中包含服务器引发错误时出错的有用描述(状态= 500).该描述作为响应文本的一部分.我的客户端代码,使用Aurelia,通过aurelia-fetch-client使用通用方法调用api 来进行调用:

function callRemoteService(apiName, timeout) {
  return Promise.race([
    this.http.fetch(apiName),
    this.waitForServer(timeout || 5000)  // throws after x ms
  ])
    .then(response => response.json() )
    .catch(err => {
        if (err instanceof Response) {
          // HERE'S THE PROBLEM.....
          err.text().then(text => {
            console.log('Error text from callRemoteService() error handler: ' + text);
            throw new Error(text)
          });
        } else if (err instanceof Error) {
          throw new Error(err.message);
        } else {
          throw new Error('Unknown error encountered from callRemoteService()');
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

请注意,我想以一致的方式捕获服务器(获取或超时)错误,然后throw只返回一个简单的错误消息到调用视图.我可以callRemoteService …

javascript fetch aurelia aurelia-fetch-client

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

C#获取给定路径的文件夹深度的最佳方法?

我正在研究需要遍历文件系统的东西,对于任何给定的路径,我需要知道我在文件夹结构中的"深度".这是我目前正在使用的:

int folderDepth = 0;
string tmpPath = startPath;

while (Directory.GetParent(tmpPath) != null) 
{
    folderDepth++;
    tmpPath = Directory.GetParent(tmpPath).FullName;
}
return folderDepth;
Run Code Online (Sandbox Code Playgroud)

这有效,但我怀疑有更好/更快的方式?很有必要提供任何反馈意见.

.net c# directory

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

在Aurelia建立像lodash这样的全球图书馆的最佳做法是什么?

我希望能够以方便的方式使用lodash(_),但我正在寻找最好的'Aurealia'方式.我可以看到几个选项:

  • 使用下载的副本或CDN,只需<script>在index.html中包含标记引用即可
  • 安装通过npmjspm(哪???)然后:
    • import 它在每个模块中,这似乎很乏味
    • 使用奥里利亚的一个featurepluginglobalResourcessomeother???功能加载它,并普遍适用.

这个问题的答案似乎以一种通用的方式表明使用import是最好的,但我对如何使用感到难过.

javascript aurelia

9
推荐指数
2
解决办法
2309
查看次数

如何以编程方式操作任何Windows应用程序的常用对话框?

我的最终目标是编写一个实用程序,让我可以在任何对话框中快速设置文件夹,从预设的"收藏夹"列表中进行选择.由于我只是一个业余爱好者,而不是专业人士,我更喜欢使用.NET,因为这是我最熟悉的.我确实意识到这些东西可能需要的东西比我在C#中可以做的更多.

我已经看到一些应用程序能够通过向工具栏添加按钮(例如:对话框助手)或者在标题栏旁边放置额外的按钮来扩展公共对话框(特别是对于另存为...和文件打开).最小化,最大化和/或关闭按钮.要么是不错的选择虽然我没有最模糊的想法从哪里开始.

我尝试过的一种方法是将文件夹名称从我写入的应用程序"拖动"到对话框上的文件名文本框,使用我从Corneliu Tusnea的Hawkeye运行时对象编辑器中拾取的鼠标钩子技术突出显示它,然后预先添加通过使用WM_SETTEXT对SendMessage进行pinvoking来获取路径名.它(有点)有效,但感觉有点笨拙.

任何关于技术或实施的建议都将非常感激.或者,如果现有的实用程序已经执行此操作,请告诉我们!

更新:说完所有内容后,我想我可能会使用现有的实用工具.不过,我想知道是否有一种以编程方式做到这一点.

.net filedialog

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

如何使用dd-MMM-yyyy格式将日期时间格式化为varchar?

我觉得这应该是一个简单的解决方案,但我找不到任何东西......

那么:我怎样从格式为dd-MMM-yyyy的a datetime到a varchar

Eg: my_date --> '29-May-2012'
Run Code Online (Sandbox Code Playgroud)

我成功的关闭是

convert(varchar(20),my_date,105) --> '29-05-2012'
Run Code Online (Sandbox Code Playgroud)

是的,我需要在T-SQL中正确执行此操作.

t-sql sql-server sql-server-2005

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

如何开始使用带有Durandal SPA App的Phonegap Build?

我使用Durandal构建了一个SPA,它在浏览器中运行良好.我现在要做的是用Phonegap(理想情况下使用Phonegap Build)将其包装起来并将其部署为Android应用程序.

有关该主题的Durandal文档(http://durandaljs.com/documentation/Native-Apps-With-PhoneGap-Cordova/)非常稀少.优化应用程序以生成main-built.js文件的关键点是将js/css资产收集到一个地方.

但是,它没有提到任何关于Phonegap/Cordova有device ready事件而不是一个事件document ready.我按照说明打包了应用程序.它安装在我的Android设备上,但卡在启动画面上.其他问题已经被问到被困在启动画面上,但那里发布的解决方案没有帮助.我不禁想到这里缺少一些基本的东西?!?

我需要在index.html中使用Phonegap特定代码吗?在任何JavaScript?

注意:我使用的是Durandal 1.2,但同样的问题适用于v2.0.

javascript cordova durandal phonegap-build

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