小编Dyl*_*tie的帖子

如何在git子模块中"提交"更改?

在我天真的时候,我已经设置了一个git子模块并将其视为Subversion外部 - 即它现在充满了我刚才意识到的未经提交或推送到任何地方的变化.

是否有一些简单的方法将子模块更改提交/推送回上游存储库?Git推荐的技术是什么,以这种方式在单独的(但链接的)存储库上同时进行开发?

git git-submodules

237
推荐指数
4
解决办法
17万
查看次数

如何使用Windows SDK 7.1从命令行运行msbuild?

我在CI服务器上设置了.NET 4.0支持.我已经安装了.NET 4.0和Windows 7.1 SDK中的.NET工具.

在.NET 2.0和3.5上,这才有效.使用.NET 4,当我从"开始"菜单运行"Windows SDK 7.1命令提示符"时,它会抱怨

The x86 compilers are not currently installed. x86-x86
Please go to Add/Remove Programs to update your installation.
.
Setting SDK environment relative to C:\Program Files\Microsoft
SDKs\Windows\v7.1
\.
Targeting Windows Server 2008 x86 Debug
Run Code Online (Sandbox Code Playgroud)

然后当我尝试运行msbuild时,我得到:

C:\Program Files\Microsoft SDKs\Windows\v7.1>msbuild
'msbuild' is not recognized as an internal or external command,
operable program or batch file.

C:\Program Files\Microsoft SDKs\Windows\v7.1>
Run Code Online (Sandbox Code Playgroud)

我不太相信安装运行时和SDK会让你的系统无法运行msbuild ...我错过了一些明显的步骤或模糊Windows Update,或者是时候放弃并开始攻击系统路径了?

msbuild sdk .net-4.0

132
推荐指数
5
解决办法
14万
查看次数

我在哪里可以找到Google OAuth 2.0 API的范围列表?

我正在使用的示例将OAuth请求中的范围指定为:scope = https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email + https%3A%2F%2Fwww.googleapis.com%2Fauth% 2Fuserinfo.profile

它解码为两个URI:

我找不到文档,其中包含可用范围的完整列表以及每个范围内可访问的信息 - 有人知道这样的事情是否存在?

google-authentication oauth-2.0

110
推荐指数
6
解决办法
8万
查看次数

当一个调用只返回一个对象时,如何强制Powershell返回一个数组呢?

我正在使用Powershell在Web服务器上设置IIS绑定,并且遇到以下代码的问题:

$serverIps = gwmi Win32_NetworkAdapterConfiguration 
    | Where { $_.IPAddress } 
    | Select -Expand IPAddress 
    | Where { $_ -like '*.*.*.*' } 
    | Sort

if ($serverIps.length -le 1) {
    Write-Host "You need at least 2 IP addresses for this to work!"
    exit
}

$primaryIp = $serverIps[0]
$secondaryIp = $serverIps[1]
Run Code Online (Sandbox Code Playgroud)

如果服务器上有2个以上的IP,那么很好 - Powershell返回一个数组,我可以查询数组长度并提取第一个和第二个地址就好了.

问题是 - 如果只有一个IP,Powershell不返回单元素数组,它返回IP地址(作为字符串,如"192.168.0.100") - 字符串有一个.length属性,它大于1,所以测试通过,我最后得到字符串中的前两个字符,而不是集合中的前两个IP地址.

如何强制Powershell返回单元素集合,或者确定返回的"thing"是对象而不是集合?

powershell

105
推荐指数
4
解决办法
5万
查看次数

如何管理版本化API的底层代码库?

我一直在阅读有关ReST API的版本控制策略,而且它们似乎没有解决您如何管理底层代码库的问题.

比方说,我们正在做了一堆破更改API的-例如,改变我们的客户资源,使其返回单独forenamesurname领域,而不是一个单一的name领域.(对于此示例,我将使用URL版本控制解决方案,因为它很容易理解所涉及的概念,但问题同样适用于内容协商或自定义HTTP标头)

我们现在有一个端点http://api.mycompany.com/v1/customers/{id},另一个不兼容的端点在http://api.mycompany.com/v2/customers/{id}.我们仍在发布v1 API的错误修正和安全更新,但新功能开发现在都专注于v2.我们如何编写,测试和部署对API服务器的更改?我可以看到至少两个解决方案:

  • 为v1代码库使用源代码控制分支/标记.v1和v2是独立开发和部署的,必要时使用版本控制合并将相同的错误修复应用于两个版本 - 类似于在开发主要新版本的同时管理本机应用程序的代码库,同时仍然支持以前的版本.

  • 使代码库本身了解API版本,因此您最终会得到一个包含v1客户表示和v2客户表示的单一代码库.将版本控制视为解决方案体系结构的一部分而不是部署问题 - 可能使用命名空间和路由的某种组合来确保请求由正确的版本处理.

分支模型的明显优势在于删除旧的API版本是微不足道的 - 只是停止部署适当的分支/标记 - 但如果您运行多个版本,最终可能会遇到一个非常复杂的分支结构和部署管道."统一代码库"模型避免了这个问题,但是(我认为?)会使得在不再需要时从代码库中删除已弃用的资源和端点变得更加困难.我知道这可能是主观的,因为不太可能有一个简单的正确答案,但我很想知道在多个版本中维护复杂API的组织如何解决这个问题.

versioning rest api-versioning

91
推荐指数
3
解决办法
5692
查看次数

在ASP.NET MVC Beta中通过IP地址限制对特定控制器的访问

我有一个包含AdminController类的ASP.NET MVC项目,并给我这样的URls:

http://example.com/admin/AddCustomer

http://examle.com/Admin/ListCustomers

我想配置服务器/应用程序,以便只能从192.168.0.0/24网络(即我们的LAN)访问包含/ Admin的 URI

我想将此控制器限制为只能从某些IP地址访问.

在WebForms下,/ admin /是一个物理文件夹,我可以在IIS中限制...但是使用MVC,当然,没有物理文件夹.这是使用web.config或属性实现的,还是我需要拦截HTTP请求来实现这一目标?

c# security asp.net-mvc authorization web-config

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

如何将Assembly.CodeBase转换为C#中的文件系统路径?

我有一个项目,将模板存储在\TemplatesDLL和EXE旁边的文件夹中.

我想在运行时确定这个文件路径,但使用的技术可以在单元测试和生产中使用(我不想在NUnit中禁用阴影复制!)

Assembly.Location 是不好的,因为它在NUnit下运行时返回阴影复制程序集的路径.

Environment.CommandLine 也是有限的用途,因为在NUnit等人它返回NUnit的路径,而不是我的项目.

Assembly.CodeBase 看起来很有希望,但它是一个UNC路径:

file:///D:/projects/MyApp/MyApp/bin/debug/MyApp.exe
Run Code Online (Sandbox Code Playgroud)

现在我可以使用字符串操作将其转换为本地文件系统路径,但我怀疑有一种更简洁的方法可以将它隐藏在.NET框架中.有人知道这样做的推荐方法吗?

(如果UNC路径不是file:///URL,则抛出异常在此上下文中绝对正常)

.net c# nunit codebase

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

我可以制作CSS:在伪元素之后追加元素之外的内容吗?

我想使用»相邻链接之间的HTML 实体格式化链接的痕迹痕迹,所以它看起来像这样:

主页 » 关于我们 » 历史 »本页

我在CSS中添加了一条规则:

nav#breadcrumb-trail a:after {
    content: " » ";
}
Run Code Online (Sandbox Code Playgroud)

但这是在链接中添加实体,而不是在外面 - 即我得到这个:

主页» 关于我们» 历史»本页

我误解了CSS :after伪元素的行为吗?文档似乎意味着它在指定元素之后添加指定的内容,而不是将其添加到元素容器的内部.有任何想法吗?

html css css-selectors pseudo-element

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

在ASP.NET MVC中检索当前视图名称?

我有一个在多个视图页面中使用的局部视图(控件),我需要将当前视图的名称传递回控制器 - 所以如果有例如验证错误,我可以重新绘制原始视图.

解决方法是(在控制器方法中)

var viewName = "Details"; // or whatever
ViewData["viewName"] = viewName;
return(View(viewName, customer));
Run Code Online (Sandbox Code Playgroud)

然后在部分本身中,将其渲染为

<input type="hidden" name="viewName" 
    value="<%=Html.Encode(ViewData["viewName"])%>" />
Run Code Online (Sandbox Code Playgroud)

问题是 - 是否有一些属性或语法我可以直接检索它而不是从控制器设置它?我试过了明显的事:

<input type="hidden" name="viewName" 
    value="<%=Html.Encode(this.Name)%>" />
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我在这里错过了什么?

谢谢.

.net asp.net-mvc

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

用于ASP.NET的System.Drawing的替代方案?

经过几天跟踪奇怪的GDI +错误,我偶然发现了MSDN上的这个小宝石:

System.Drawing命名空间中的类不支持在Windows或ASP.NET服务中使用.尝试在其中一种应用程序类型中使用这些类可能会产生意外问题,例如服务性能下降和运行时异常.

我不知道"ASP.NET服务"在这种情况下是否意味着"Web应用程序",但"服务性能降低"当然似乎涵盖了"GDI +中出现一般性错误"和"内存不足"错误的随机分类我的应用程序正在抛出 - 读取和写入JPEG图像的间歇性,不可重现的错误 - 在许多情况下 - 实际上是由System.Drawing.Imaging首先创建的.

那么 - 如果GDI +无法在Web应用程序中可靠地读取和写入JPEG文件,那么我应该使用什么呢?

我希望用户能够上传图像(需要JPEG,其他格式很好),可靠地重新采样,并在出现任何问题时显示有用的错误消息.有任何想法吗?WPF的System.Media命名空间值得考虑吗?

编辑:是的,我知道GDI +"大部分时间都在工作".这还不够好,因为当它失败时,它会以一种无法隔离或优雅地恢复的方式这样做.我对适合您的GDI +代码示例不感兴趣:我正在寻找用于图像处理的替代库.

c# asp.net system.drawing gdi+ system.drawing.imaging

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