这是一个简单的谜题,今天让我感到沮丧的一段时间:
考虑此页面标记:
<head>
<style type="text/css">
#wrapper { overflow: hidden; }
#content { width: 750px; height: 100px; background: orange; }
</style>
</head>
<body>
<div id="wrapper">
<div id="content">Foo bar</div>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
无论视口宽度如何,我如何div#content在页面中居中?
我已经尝试了各种技巧(包括text-align: center; display: inline-block;)和绝对定位,但是div#content当浏览器窗口的宽度低于750px时,所有这些技巧都是左对齐的.
我见过一些知名网站过去这么做过.例如,在Apple.com上宣传新的视网膜iPad时:图中的iPad是一个非常宽的图像,延伸到主页面区域(注意它不是<body>元素的CSS背景图像),但它不会导致滚动当浏览器窗口只适合主页面内容时.不幸的是,我似乎无法找到任何现有网站,所以我找不到参考.
谢谢.
我正在为利基行业构建SaaS应用程序.应用程序是架构的,以便每个订户获得自己的应用程序实例(例如,允许自定义).这基本上是网站文件(ASP.NET MVC的东西)和SQL数据库的副本.很简单.
我正在考虑转移到Windows Azure - 我的硬件托管成本一直在上升(现在每月大约450GBP,然后是购买新硬件的成本,以及管理所有内容所需的时间).Windows Azure的平台即服务不仅在货币方面节省了相当大的成本,而且在我不必花费时间进行服务器内务处理(或者在主板出现故障时与戴尔的支持团队混乱).
记住,我在谈论PaaS服务,我对使用虚拟机不感兴趣,因为它与物理服务器有同样的内务处理问题.
现在,我正在考虑为我的客户提供的一项服务也是网络托管和托管交换.这两项服务都是从我的共同硬件提供的,但是在没有VM的情况下,我没有能力在IIS中创建任意网站.
Windows Azure确实提供了简单的网络托管服务,我可以使用它来向我的最终用户销售网络托管,但我找不到任何在线资源,如果微软允许这样做.
至于托管Exchange - 微软不提供Exchange-on-Azure(除非你把你的SPLA许可证带到运行Exchange的VM上),但如果我朝这个方向前进,我不妨完全放弃自我管理而只是转售白标托管Exchange服务.
回到网站,是否有人知道我是否可以直接向其他人收取代表他们创建/管理Azure网站的费用?
请原谅我的问题的简单性,我有一个脑屁:
这是我的表架构:
Foo( FooId, BarDate dateTime, Baz int )
Run Code Online (Sandbox Code Playgroud)
鉴于此查询
SELECT
MAX( Foo.BarData )
FROM
Foo
WHERE
Foo.Baz = 2
AND
Foo.BarData < @dateParameter
Run Code Online (Sandbox Code Playgroud)
在某些情况下,此查询会返回,NULL因为没有符合条件的行,在这些情况下,我希望查询返回相同的值,除非where Foo.Baz = 0.
我可以用两个子查询来做,但它似乎是一个黑客.有没有更好的方法?
SELECT
COALESCE( Attempt1.BarData, Attempt2.BarData )
FROM
(
SELECT
MAX( Foo.BarData ) As BarData
FROM
Foo
WHERE
Foo.Baz = 2
AND
Foo.BarData < @dateParameter
) As Attempt1
OUTER JOIN
(
SELECT
MAX( Foo.BarData ) As BarData
FROM
Foo
WHERE
Foo.Baz = 0
AND
Foo.BarData < @dateParameter
) As Attempt2 …Run Code Online (Sandbox Code Playgroud) 我是Phonegap.i的新手,我目前在iOS应用程序开发人员工作.我想开始使用Phonegap开发应用程序.我想知道哪个开发平台(IDE)用于开发Phonegap应用程序?
我可以使用Dreamweaver开发整个应用程序吗?
我不希望在Xcode中使用Phonegap.有没有办法在Windows PC中使用Phonegap开发iOS应用程序?
提前致谢.
我编写了一个通过WIX生成的MSI分发的COM组件.
COM组件具有相当复杂和非静态的注册逻辑,这意味着直接在Windows Installer WXS文件中嵌入注册信息不是一个可行的选项 - 注册必须使用regsvr32- 并且它是一个32位的COM组件,所以它必须使用32位版本regsvr32.exe- %SystemRoot%\SysWow64\regsvr32.exe在64位Windows或%SystemRoot%\System32\regsvr32.exex86 Windows上.
我注意到WIX与这个WXS XML有两个问题:
<InstallExecuteSequence>
<Custom Action="COMRegister" After="InstallFinalize">NOT Installed</Custom>
<Custom Action="COMUnregister" After="InstallInitialize">Installed</Custom>
</InstallExecuteSequence>
<CustomAction Id="COMRegister" Directory="APPLICATIONROOTDIRECTORY" ExeCommand='regsvr32.exe /s "[APPLICATIONROOTDIRECTORY]Component.dll"' />
<CustomAction Id="COMUnregister" Directory="APPLICATIONROOTDIRECTORY" ExeCommand='regsvr32.exe /s /u "[APPLICATIONROOTDIRECTORY]Component.dll"' />
Run Code Online (Sandbox Code Playgroud)
regsvr32.exe引用了错误.我注意到x64版本resgvr32.exe是在64位系统而不是32位版本上运行的.regsvr32.exe在没有提升权限的情况下运行,因此COM注册失败E_ACCESSDENIED.对于1.它可以工作,如果我硬编码regsvr32.exe可执行文件的路径使用[WindowsFolder]\SysWOW64\regsvr32.exe,但这SysWow64不适用于不存在的真正的32位机器.
对于2.我在线阅读更改After="InstallFinalize" toAfter ="RemoveExistingProducts" would cause it to run with elevated permissions, however instead this just gives me errors aboutRemoveExistingProducts`是一个未解析的符号名称.
我该如何解决这两个问题?
(在过去2小时内遇到这个问题后,我确信WIX的作者是HP …
我试图找到一种从泛型基类派生类的方法.说:
sealed public class Final : Base<Something>
{
}
public class Base<T> : T
where T : Anything // <-- Generics do not allow this
{
}
Run Code Online (Sandbox Code Playgroud)
在C#中,这似乎不可能.
有没有其他解决方案来实现类似的东西?
我发现了这个StackOverflow问题,但它似乎没有解决问题,或者至少我不明白它应该如何解决.
编辑:
我想得到的结果是能够做到这样的事情:
Anything[] anything;
//Assign some Instances to anything
foreach(Final final in anything){
//do something with final
}
Run Code Online (Sandbox Code Playgroud) 我从SQL数据库中提取数据,我正在使用以下语句填充空白或缺少的缺失数据.
string.Join(
",",
from
r in siteData.Rows.OfType<DataRow>()
select
r[28] == DBNull.Value ? "null" : r[28]);
Run Code Online (Sandbox Code Playgroud)
我想用空值替换-9999的值.
我有一个.NET Framework 4.7应用程序,允许用户以PFX或PKCS#12格式上传X.509证书(想想:包含私钥的"SSL证书"),然后将证书加载到System.Security.Cryptography.X509Certificates.X509Certificate2实例中.由于我的应用程序代码也需要重新导出证书,我指定了该X509KeyStorageFlags.Exportable选项.
在我的生产Web服务器上的IIS下w3wp.exe运行时,未加载运行在其下的标识的Windows用户配置文件,因此我不指定该UserKeySet标志.
String filePassword = ...
Byte[] userProvidedCertificateFile = ...
using( X509Certificate2 cert = new X509Certificate2( rawData: userProvidedCertificateFile, password: filePassword, keyStorageFlags: X509KeyStorageFlags.Exportable | X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet )
{
...
}
Run Code Online (Sandbox Code Playgroud)
在2017年初,我将此代码部署到Azure应用服务(也称为Azure网站)实例,并且它工作正常 - 最初失败后因为我确实UserKeySet设置了标志(因为Azure App Services不加载用户配置文件证书存储.
但是,自2017年中期(可能在5月或6月左右)以来,我的应用程序已停止工作 - 我假设Azure应用服务已移至更新的系统(尽管Kudu报告我的应用程序正在Windows Server 2012(NT 6.2.9200.0)上运行.
它目前失败,有两个错误消息根据输入而变化:
CryptographicException "该系统找不到指定的文件."CryptographicException "拒绝访问."我编写了一个广泛的测试用例,它尝试不同的X509Certificate2构造函数参数组合,以及有和没有WEBSITE_LOAD_CERTIFICATESAzure应用程序设置.
以下是我使用上传的PFX/PKCS#12证书文件时的调查结果,该文件包含私钥但没有密码保护:
X509KeyStorageFlags值如何,加载证书文件总是成功的.X509KeyStorageFlags.Exportable.w3wp.exe未加载用户配置文件的生产服务器(不是Azure应用服务)上的IIS下运行:
X509KeyStorageFlags.UserKeySet是 …我在我的 xUnit 测试中使用了优秀的Shouldly库,我发现自己在不同的测试中使用了断言的集合序列,所以我将它们组合成新的断言扩展方法 - 但是当我这样做时,我丢失了Shouldly上下文断言消息。
这是我的旧代码,它Shouldly用于在Shouldly断言错误中包含源级信息和调用站点上下文:
[Fact]
public void Dict_should_contain_valid_Foobar_Bar_entry()
{
IDictionary<String,Bar> dict = ...
dict.TryGetValue( "Foobar", out Bar bar ).ShouldBeTrue();
bar.ShouldNotBeNull();
bar.ChildList.Count.ShouldBe( expected: 3 );
bar.Message.ShouldBeNull();
}
[Fact]
public void Dict_should_contain_valid_Barbaz_Bar_entry()
{
IDictionary<String,Bar> dict = ...
dict.TryGetValue( "Barbaz", out Bar bar ).ShouldBeTrue();
bar.ShouldNotBeNull();
bar.ChildList.Count.ShouldBe( expected: 3 );
bar.Message.ShouldBeNull();
}
Run Code Online (Sandbox Code Playgroud)
我在同一个项目中将它转换为这个新的扩展方法:
public static void ShouldBeValidBar( this IDictionary<String,Bar> dict, String barName )
{
dict.ShouldNotBeNull();
dict.TryGetValue( barName, out Bar bar ).ShouldBeTrue();
bar.ShouldNotBeNull(); …Run Code Online (Sandbox Code Playgroud) 我很困惑这是如何工作的,有人能告诉我到底发生了什么吗?
body,
html {
padding: 0;
margin: 0;
height: 100vh;
width: 100%;
}
.chat-break {
position: relative;
display: flex;
justify-content: center;
align-items: center;
margin-top: 20px;
}
.chat-break .line {
border-bottom: 1px solid #ddd;
width: 100%;
}
.chat-break .date {
color: #B5B5B5;
position: absolute;
background-color: #fff;
padding-left: 8px;
padding-right: 8px;
}Run Code Online (Sandbox Code Playgroud)
<div class="chat-break">
<div class="line">
</div>
<p class="date">Today</p>
</div>
Run Code Online (Sandbox Code Playgroud)
我的理解:
.chat-breakflexbox 有两个元素.line和.date。position: absolute它.date不再是它自己的元素之后?c# ×3
azure ×2
css ×2
sql ×2
assert ×1
cordova ×1
dynamic ×1
generics ×1
inheritance ×1
regsvr32 ×1
shouldly ×1
sql-server ×1
unit-testing ×1
wix ×1
xunit ×1