我有一个带有令牌身份验证的ASP.NET Web Api 2.0项目,所有工作主要完成本文之后:
使用ASP.NET Web API 2,Owin和Identity,Bit Of Technology进行基于令牌的身份验证
但是我很难理解我的Startup.cs中的这行代码究竟是做什么的:
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
Run Code Online (Sandbox Code Playgroud)
这不会使Web Api将Access-Control-Allow-Origin标头添加到我的API响应中,换句话说,它不会在我的Web Api中启用Cors(仍然试图了解如何执行此操作).它甚至没有将它添加到我的承载令牌认证服务器响应中.我必须将此代码提供给OAuthAuthorizationServerProvider:
public override Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
{
context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" });
Run Code Online (Sandbox Code Playgroud)
在我的令牌提供者端点响应上启用Cors.
那么这个Microsoft.Owin.Cors中间件的用途是什么呢?因为我到处读到有关Web Api 2.0和Cors的这一行代码
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
Run Code Online (Sandbox Code Playgroud)
过来:
在我正在进行的.net 3.5项目中,我正在为服务类编写一些测试.
public class ServiceClass : IServiceClass
{
private readonly IRepository _repository;
public ServiceClass(IRepository repository)
{
_repository = repository;
}
#region IServiceClass Members
public IEnumerable<ActionType> GetAvailableActions()
{
IQueryable<ActionType> actionTypeQuery = _repository.Query<ActionType>();
return actionTypeQuery.Where(x => x.Name == "debug").AsEnumerable();
}
#endregion
}
Run Code Online (Sandbox Code Playgroud)
而且我很难搞清楚如何存根或嘲笑
actionTypeQuery.Where(x => x.Name == "debug")
Run Code Online (Sandbox Code Playgroud)
部分.
这是我到目前为止所得到的:
[TestFixture]
public class ServiceClassTester
{
private ServiceClass _service;
private IRepository _repository;
private IQueryable<ActionType> _actionQuery;
[SetUp]
public void SetUp()
{
_repository = MockRepository.GenerateMock<IRepository>();
_service = new ServiceClass(_repository);
}
[Test]
public void heres_a_test()
{ …Run Code Online (Sandbox Code Playgroud) 在我正在开发的当前应用程序中,我正在使用Fluent NHibernate来配置NHibernate以用作ORM.我希望能够为应用程序中使用的所有表名添加前缀,这样,如果我使用的数据库已经在为另一个应用程序提供服务,则两个应用程序之间不存在命名冲突.
因此,例如,如果我想为Portal_每个表添加前缀,那么Users表就会变成Portal_Users.
当然,我知道如何在每个映射文件中配置每个表名,但这对我正在尝试做的事情来说并不是一个很好的解决方案.如果我想更改前缀,我将被迫更改每个映射文件.我希望能够在我的代码或配置中的单个位置为所有表名添加(或更改)前缀.
如何使用NHibernate(或Fluent NHibernate)为应用程序中的所有表名添加前缀?
什么是检查NHibernate中是否存在表(或使用Fluent-NHibernate)的最佳,最一致的方法?
它甚至可能吗?我的意思是对于如此重型的ORM来说,这似乎是一项简单的任务.
另外在一个相关问题上,您可以检查NHibernate是否存在一组表或整个模式吗?
我很好奇在javascript中引用"全局"命名空间时最佳实践是什么,这只是window对象的快捷方式(反之亦然,取决于你如何看待它).
我想知道是否:
var answer = Math.floor(value);
Run Code Online (Sandbox Code Playgroud)
是好还是坏:
var answer = window.Math.floor(value);
Run Code Online (Sandbox Code Playgroud)
性能,资源使用或兼容性是更好还是更差,甚至是轻微的?
是否有更轻微的成本?(像额外的指针或东西)
编辑注释:虽然在大多数情况下我对性能纳粹的可读性,但在这种情况下,我忽略了可读性的差异,只关注性能.
有时,当用户使用Google的OAuth 2.0登录网站时,他们会选择错误的帐户进行登录.通常情况下,如果用户在浏览器中注册了多个帐户,这不是问题,谷歌会自动显示用户选择屏幕:

但是,如果用户只有一个帐户并且已登录,则会跳过此屏幕.相反,我需要Google的登录面板始终显示,以便我可以确定用户可以选择尝试输入正确的帐户.我尝试使用approval_prompt = "force",但这会强制接受权限而不是简单地显示登录页面.

如何强制Google的OAuth 2.0始终显示登录屏幕?
(并且永远不会自动跳过它)
有时,拉取请求非常复杂和/或可能存在错误。在这种情况下,仅通过阅读代码来对拉请求进行抽查可能会有些不合理。在合并之前先在本地检出,拉取和构建该拉取请求更有意义。通过这种方式,回购维护者可以更加放心,拉取请求不会引入任何回归问题。
我可以很容易地从命令行检出拉取请求,但是我更喜欢使用SourceTree。我知道使用命令行非常简单明了,但是我相信只要有可能,就可以通过命令行工具使用GUI工具。SourceTree已经成为事实上的标准GUI 的git客户端的窗口,因此它似乎SourceTree会对这些基本功能。但是,我尝试了许多不同的命令和对话框,但似乎无法访问SourceTree中的pull请求。
是否可以仅使用SourceTree在本地拉取请求?怎么样?
我慢慢了解到,除了经典的命令行工具之外,大多数 git 客户端都不允许在合并之前从分叉存储库中签出拉取请求以进行本地审查。
尽管如此,很难确定客户端是否缺乏拉取请求结帐功能。这让我想到了 TortoiseGit。
TortoiseGit 是否支持从其他用户的分叉存储库中检出拉取请求?
如何做到这一点?
注意:我的意思不是正常的分支结账流程或创建拉取请求。我的意思是检查来自另一个用户的分叉存储库的拉取请求。
是否有意义默认使用您的域对象工厂的接口,或应接口预留,只有当你需要他们的工厂类?
public IUserFactory
{
User CreateNewUser();
}
public UserFactory : IUserFactory
{
public User CreateNewUser()
{
return new User();
}
}
Run Code Online (Sandbox Code Playgroud) oop design-patterns domain-driven-design factory domain-object
我一直在尝试DateTimeOffset在代码中获取结构的大小,以便我可以计算父对象的大小.问题是sizeof操作员和Marshal.SizeOf功能都不能用于此目的.
sizeof将无法工作,因为我必须使用unsafe标志进行编译,而这个功能还不足以证明这一点.Marshal.SizeOf引发异常:
类型'System.DateTimeOffset'不能作为非托管结构封送; 不能计算有意义的大小或偏移量.
我已经放弃尝试计算像这样的结构的大小,因为每一行攻击/博客文章都会出现一个或另一个错误.
有人可以告诉我64位Azure Web服务器上DateTimeOffset的平均大小是多少?
c# ×2
git ×2
git-checkout ×2
nhibernate ×2
orm ×2
owin ×2
pull-request ×2
cors ×1
factory ×1
global ×1
google-oauth ×1
iqueryable ×1
javascript ×1
marshalling ×1
memory ×1
nunit ×1
oauth-2.0 ×1
oop ×1
performance ×1
rhino-mocks ×1
sizeof ×1
tortoisegit ×1
unit-testing ×1
window ×1