我有一个包含多个Web项目的解决方案.我想在Azure网站中运行它们,每个网站都是一个单独的网站,来自同一个Git存储库.
如何指定哪个网站运行哪个Web项目?
AppHarbor使用以应用程序命名的多个解决方案文件来处理此问题,其中包含相应的Web项目.我找不到任何有关Azure网站的信息.
我正在将MVC 3应用程序从EF 4.3迁移到EF 5.我注意到EF 5需要表CreatedOn中的__MigrationHistory列,由于迁移是由旧版本创建的,因此该列不存在.
SELECT TOP (1)
[c].[CreatedOn] AS [CreatedOn]
FROM [dbo].[__MigrationHistory] AS [c]
Run Code Online (Sandbox Code Playgroud)
如何在不擦除迁移历史记录的情况下解决此问题?我正在考虑一个查询来从迁移名称推断列的值,其格式如下:
201203111201542_MigrationName
Run Code Online (Sandbox Code Playgroud) 我知道VCS对于开发人员提高生产力和保护代码绝对至关重要,对此毫无疑问.但是,设计师,比如使用Photoshop(虽然它不是特定于任何工具,只是为了让我的观点更加清晰).
VCS使用增量压缩来存储不同版本的文件.这对代码非常有效,但对于图像,这是一个问题.光栅图像文件是二进制格式,虽然矢量图像文件是文本(SVG出现在我的脑海中)并导致问题.问题来自.psd文件(和任何其他图像"源"文件) - 那些可能变得非常大,因为我不熟悉格式,我会将它们视为二进制文件.VCS如何在这种情况下工作?
如果VCS服务器无法有效地区分文件(或者更糟糕的是,根本不是),那么存储库可能会非常大,随着时间的推移,当有人需要检出存储库(或克隆存储库)时,这可能会变得非常痛苦如果使用DVCS).
你们有没有为此目的使用过VCS?它的效果如何?我最感兴趣的是Mercurial,尽管这是适用于任何VCS的一般情况.
基本上我正在寻找能让我轻松访问useragentstring.com等信息的东西,但是在JS中,我没有解析用户代理并寻找每一个可能的文本.对象可能是这样的:
browser = UserAgent.Browser; // Chrome
browserVer = UserAgent.BrowserVersion; // 5.0.342.9
os = UserAgent.OperatingSystem; // Windows NT
osVer = UserAgent.OperatingSystemVersion; // 6.1
layoutEng = UserAgent.LayoutEngine; // WebKit
layoutEngVer = UserAgent.LayoutEngineVersion; // 533.2
Run Code Online (Sandbox Code Playgroud)
有类似的东西存在,还是我必须自己写一个?编写另一个用户代理解析器似乎并不容易,所有这些模仿都可以追溯到网络的黑暗时代.
具体来说,我正在寻找一些不仅将用户代理分成几部分并将它们交给我的东西,因为那与用户代理本身一样无用; 相反,它应该解析用户代理并识别引擎,浏览器,操作系统等,并仅返回具体部分,如示例中所示.
这令我难以置信.DirectX绕过所有内容并直接与设备驱动程序对话,因此GDI和其他常用方法将无法工作 - 除非Aero被禁用(或不可用),所有出现的内容都是屏幕左上方的黑色矩形.我已经尝试了其他几个论坛上的建议,使用DirectX来获取后台缓冲区并保存它,但我得到了相同的结果:
device-> GetFrontBufferData(0,surface); D3DXSaveSurfaceToFile("fileName",D3DXIFF_BMP,surface,NULL,NULL);
启用Aero时,有没有办法获得另一个全屏DirectX应用程序的屏幕截图?
我已经阅读了其他问题,他们大多谈论这样做的安全性.这并不完全是我的担心,主要是因为该网站的问题是基于浏览器的游戏.但是,更大的问题是用户 - 并非每个用户都有足够的文字来理解OpenID.当然RPX使这很容易,这就是我将要使用的,但是如果用户没有Google或Facebook上的帐户或者不信任系统使用现有帐户登录该怎么办?他们必须在另一个提供帐户 - 我相信大多数人会知道如何去做,更不用说为此而烦恼了.
还有如何在应用程序中管理它的问题.用户可能希望在单个帐户中使用多个身份,因此不像处理用户名+密码那么简单.如何在数据库中存储用户的OpenID标识?使用OpenID也给了我一个好处:RPX可以提供广泛的配置文件信息,因此我可以预填充配置文件表单并要求用户根据需要进行编辑.
我目前有这个:
Users:
------
ID Email Etc.
-- --------------- ----
0 bob@yahoo.com ...
1 alice@yahoo.com ...
UserOpenIDs:
------------
ID UserID OpenID
-- ------ ------
0 0 0
1 0 2
2 1 1
OpenIDs:
--------
ID Provider Identifier
-- -------- ----------------
0 Yahoo https:\\me.yahoo.com\bob#d36bd
1 Yahoo https:\\me.yahoo.com\alice#c19fd
2 Yahoo https:\\me.yahoo.com\bigbobby#x75af
Run Code Online (Sandbox Code Playgroud)
使用这些外键:
UserOpenIDs.UserID -> Users.ID
UserOpenIDs.OpenID -> OpenIDs.ID
Run Code Online (Sandbox Code Playgroud)
这是在数据库中存储OpenID标识符的正确方法吗?我如何匹配RPX给我的标识符以及数据库中的标识符以登录用户(如果标识符已知).
所以这里有具体的问题:
我目前正在开发一个大项目,并且很快就会需要一个脚本语言来实现实用程序脚本,比如从源代码部署完整项目,检查和修复数据库,构建一个可随时部署的bundle等等.该项目是用PHP编写的,我考虑过使用它,但我认为它不适合这项任务.
我主要要求的是,按照重要性命令:
这就是我现在所能想到的.我已经回顾了Python和Ruby; Python满足所有要求,Ruby似乎也是如此,尽管我不确定Windows上的易部署性和库的可用性.但是,我也在寻找使用这种用您选择的语言编写的脚本的经验.
在较旧的MVC版本中,使用AttributeRouting库,我可以有多个路由并指定优先级,因此在生成URL时选择最合适的路径:
[Route("", ActionPrecedence = 1)]
[Route("city/{citySlug}", ActionPrecedence = 2)]
Run Code Online (Sandbox Code Playgroud)
在MVC 5中,ActionPrecedence属性上没有属性.在这种情况下,如何指定路由优先级?
对于作为Azure网站运行的MVC 3应用程序,我有一个奇怪的问题.我过去曾遇到Azure问题,但新的网站概念几乎完美无缺,除此之外:
DotNetOpenAuth.Messaging.ProtocolException: No OpenID endpoint found.
Run Code Online (Sandbox Code Playgroud)
这仅适用于Google,仅适用于Azure.在本地运行它工作正常,在AppHarbor上运行它工作正常,但在Azure上,每次尝试使用Google进行OpenID登录都会因为该异常而导致服务器错误(使用Airbrake进行跟踪).
亲自看看,尝试在我的网站上登录谷歌,如果你立即得到一个服务器错误页面,这意味着DNOA正在呕吐.所有其他登录方法都可以正常工作,包括Yahoo和AOL,它们也是OpenID.
PS:不要尝试太多次,AirBrake很乐意将我的电子邮件地址垃圾邮件:<
如何实现Linkedin的登录方法,人们只需点击一个按钮并使用他们的Linkedin帐户登录,就像在Facebook或Twitter上一样?两者都使用OAuth,但我发现它们的指定库很容易使用.对于LinkedIn我只发现DotNetOpenAuth一些示例代码,但我不能让任何意义了它.
是否有任何库可用于促进Linkedin的登录功能?或者有关如何使用DotNetOpenAuth 4在ASP.NET MVC中执行此操作的任何教程?
azure ×2
.net ×1
asp.net-mvc ×1
directx ×1
fullscreen ×1
git ×1
image ×1
javascript ×1
linkedin ×1
oauth ×1
openid ×1
rpx ×1
rpxnow ×1
screenshot ×1
scripting ×1
user-agent ×1