我创建了一个包含两个项目的解决方案:MVC 4和类库.该解决方案编译并运行良好.然后我安装包'Microsoft.AspNet.WebApi.OData -pre来引入OData WebApi功能.当我这样做时,我在运行时收到以下错误:
试图通过安全透明方法"System.Web.Http.GlobalConfiguration.get_Configuration()"来访问安全关键类型"System.Web.Http.HttpConfiguration"失败.
当WebApiConfig.Register(GlobalConfiguration.Configuration)在Global.asax中运行时
一旦我这样做,卸载软件包似乎没有解决.它显然删除了OData组件,但随后留下了导致此问题的任何组件.使用-RemoveDependencies删除会删除库中的所有WebApi引用,并且我无法将其恢复到工作状态.
我到底包含什么包,如何在vanilla MVC4应用程序中启用WebApi OData?
创建Azure VM时,它会创建名为"Temporary Storage"的D:驱动器.我不清楚这是多么暂时.它是在重新启动,启动/停止之间重置,还是仅在重新创建映像时重置?还是随意的?此外,这个临时存储的一些用例是什么?
我正在学习流星,并创建了一个新的应用程序并安装了帐户 - 核心,帐户 - 谷歌和帐户 - ui.这按预期工作,并促使我配置谷歌集成.但是,在我配置它之后,我意识到我使用了一个不正确的网址并在Google API中进行了更改.如何使此更改在流星方面生效?换句话说,我如何回到流星谷歌配置页面,在那里我输入客户端ID和密码?
我有一种感觉,我在这里错过了一些简单的东西,但是我不能理解这一点.这是我的脚本:
function FormDefinition()
{
var self = this;
self.Fields = ko.observableArray([new FieldDefinition()]);
}
function FieldDefinition()
{
var self = this;
self.Name = "Test";
}
function ViewModel()
{
var self = this;
self.formDef = ko.observable(new FormDefinition());
self.Name = "bob"
self.addField = function(){
this.formDef().Fields().push(new FieldDefinition());
}
}
ko.applyBindings(new ViewModel());
Run Code Online (Sandbox Code Playgroud)
这是我的标记:
<a data-bind="click: addField">Add</a><br/>
<span data-bind="text: Name"></span>
<ul data-bind="foreach: formDef().Fields">
<li data-bind="text: Name"></li>
</ul>?
Run Code Online (Sandbox Code Playgroud)
这里是一个jsFiddle:http://jsfiddle.net/5xSmr/
预期的行为是单击"添加"将导致ui更新.调试显示addfield被调用.
我有一个现有的 Ionic 3 应用程序,它允许用户使用他们的 Facebook 或 Google 帐户登录。该应用程序与 ASP.NET Core 网站和 API 进行交互。我的理解是,在某些时候,Apple 将要求此类应用程序支持“使用 Apple 登录”
对于 Facebook 和 Google,有cordova 插件(facebook4 和googleplus),然后是一些服务器端代码来处理OAuth/OpenID Connect。我没有找到任何用于“使用 Apple 登录”的cordova 插件。我找到了一篇关于如何实现 api/web 方面的文章,但是我对 Ionic 方面不太清楚。如何在基于 ionic 的 iOS 应用程序中启用“使用 Apple 登录”?是否不需要插件(即都可以使用 javascript 或应用程序内浏览器完成)?我知道应用内浏览器被 Google 的身份验证页面阻止,似乎任何身份验证都首选更“本机”的方法。
我知道这是新的,但如果 Apple 开始要求它,似乎更多的开发人员会遇到这个问题。我是否误解了很快就需要这样做?
我正在开发一个应用程序,它需要根据各种标准匹配两组数据,包括每组中任意数量项目的总和.我把问题归结为这个陈述:
给定一组项目和交易,找到最小的项目集合,其中总和等于最小交易集合的总和.(这个帖子我忽略了一些复杂性,但是现在我只关心总金额匹配,而不是日期,描述,清算差异等)
或者,数学上:给定两组数字,找到每个总和相等的最小集合.
我遇到的其他类似的SO问题假设你提前知道了总和,或者知道你要去的每一组的数量.
这是一个测试(我认为)说明了我的目标.
[TestMethod]
public void StackOverflowTest()
{
var seta = new[]{10, 20, 30, 40, 50};
var setb = new[]{ 45, 45, 100, 200 };
var result = Magic(seta, setb);
Assert.AreEqual(new[]{40,50},result.SetA);
Assert.AreEqual(new[] { 45, 45 }, result.SetB);
}
class MagicResult
{
public int[] SetA { get; set; }
public int[] SetB { get; set; }
}
private MagicResult Magic(int[] seta, int[] setb)
{
throw new NotImplementedException();
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找一个优雅的解决方案,将通过,但将采取任何伪代码或建议,让我在那里;)
我正在开发一个在Azure Blob存储中存储文本的站点.文本可能是敏感的(不一定是密码,而是个人信息).我试图决定在将文本存储在Azure Blob存储之前是否应加密文本.我的理解是,如果Azure密钥和帐户名出来并且恶意用户下载blob,这可以降低暴露数据的风险.我的问题是:
我使用angular.forEach循环遍历数组并调用非角度ajax库(Trello client.js).客户端确实有"成功"和"错误"回调,但不会返回角度延迟.所有ajax调用完成后,我想执行一个函数.
我有以下代码:
$scope.addCards = function(listId)
{
var cardTitles = $scope.quickEntryCards[listId].split('\n');
angular.forEach(cardTitles, function(cardTitle,key)
{
Trello.post('/cards', {
name:cardTitle,
idList:listId
},function(){ }, function(){ });
});
//TODO: wait for above to complete...
$scope.init($routeParams.boardId);
$scope.quickEntryCards[listId] = '';
};
Run Code Online (Sandbox Code Playgroud)
我可以在// TODO和回调函数中做什么,以便最后2行只在所有帖子成功或失败后运行?
借助Azure网站部署插槽"插槽设置"的新功能,我们可以将连接字符串和应用设置"固定"到特定插槽.我已经设置了两个插槽:生产和暂存,并验证我可以在它们之间交换并指向正确的数据库.使用代码优先迁移自动更新数据库.但是,我不确定在这种情况下,"回滚"究竟会(或应该)与数据库一起使用.
例如,请考虑以下事项:
有没有办法将登台数据库回滚到v1?如果发生"紧急情况"并且我不得不再次交换升级和生产,是否有办法将生产数据库恢复到v1?我知道这可以使用Update-Database完成,但目前还不清楚如何在Azure网站中将其设置为尽可能自动化.
我正在开发要在Docker中运行的ASP.NET Core应用程序。在开发过程中,我希望容器连接到在我的开发机器(也是我的docker主机)上运行的SQLEXPRESS。但是,据我所知,容器根本无法到达主机。我无法连接到SQL或从容器ping主机IP。我可以在主机上本地运行该应用程序,并可以很好地连接到SQL Server,因此我怀疑是否可以在可以从容器ping主机的位置获得它,也可以连接到SQL。
主机在主适配器上的IP为10.0.0.5,在“ HNS Internal NIC”上的IP为172.30.96.1,我认为这是Docker使用的主机。
为了测试基本连通性,我尝试从容器内部ping:
docker exec -i containername cmd
c:\app ping 10.0.0.5
Request timed out
c:\app ping 172.30.96.1
Request timed out
Run Code Online (Sandbox Code Playgroud)
基于一些类似的帖子,我也尝试连接到“主机”网络,但是,此版本的docker显然不可用。我怀疑这对于Linux来说更多:
docker run --net="host" ...
network host not found.
Run Code Online (Sandbox Code Playgroud)
我还发现了类似的Windows 10帖子,其中建议使用“透明”网络。有了这个网络,我无法连接或断开连接:
docker network create --driver transparent trans --gateway 10.0.0.1 --subnet 10.0.0.1/16
docker run --net=trans ...
docker exec -i containername cmd
c:\app> ipconfig
IPv4 address: 10.0.205.104
c:\app> ping 10.0.0.5
Request timed out
c:\app> exit
ping 10.0.205.104
Request timed out
Run Code Online (Sandbox Code Playgroud)
这是我的码头工人信息:
Containers: 1
Running: 1
Paused: 0 …
Run Code Online (Sandbox Code Playgroud) azure ×2
javascript ×2
algorithm ×1
angularjs ×1
asynchronous ×1
c# ×1
cordova ×1
docker ×1
ios ×1
knockout.js ×1
meteor ×1
networking ×1
odata ×1
security ×1
set ×1
trello ×1