小编jim*_*asp的帖子

heat.exe自动生成文件碎片 - 每次构建?

我正在使用heat.exe生成WiX文件碎片.

我通过在Visual Studio中为我的网站项目添加一个后期构建步骤来完成此操作,这样每次构建完成时,都会拾取Web项目中的任何新文件并创建新的wxs文件片段.这些文件片段被直接复制到wix安装项目中,这样在构建安装项目时,它会将所有新添加的内容文件包含到msi中.

我注意到上次我看到每次heat.exe重新生成wxs文件片段时,它会创建新的guid(但显然不是新的组件ID).

无论如何,我对WiX/heat非常新,所以问题是 - 我是否应该每次都自动生成wxs文件,例如,当发布和安装/卸载新版本的网站时,这将如何影响生产?有什么理由我不应该自动生成并在每个构建中包含这些文件片段?

wix heat

5
推荐指数
1
解决办法
1195
查看次数

Google Chrome 不使用本地磁盘/内存缓存进行 304 html 响应 - 行为发生变化?

Google Chrome 浏览器不使用磁盘(或内存)缓存来响应 html。chrome 的行为改变了吗?Javascript/css 文件看起来没问题,但 html 不行。

相同的 html 响应确实会在 Firefox 和 Edge 中本地缓存。

下面是 html/js 响应示例。两个响应的 HTTP 状态代码都是 304,并且响应不是 https。我在现有网址的浏览器栏中按 Enter 键,因此没有使用刷新。点击后退/前进浏览器按钮会产生相同的结果。

html 响应标头( Chrome 上不使用Chrome 磁盘/内存缓存,但在 Edge/FF 上使用) - 请注意,这是一个动态页面,而不是静态 html 页面,因此该 url 没有 .html 扩展名:

Cache-Control:public, max-age=3600
Content-Type:text/html
Content-Encoding:gzip
Date:Wed, 08 Nov 2017 09:57:31 GMT
ETag:"627b1769f19f9ff568faf620ea25d144"
Vary:Accept-Encoding
Run Code Online (Sandbox Code Playgroud)

.js 文件响应标头(磁盘/内存缓存在包括 Chrome 在内的所有浏览器中使用):

Accept-Ranges:bytes
Cache-Control:public, max-age=3600
Content-Encoding:gzip
Content-Type:application/javascript
Date:Wed, 08 Nov 2017 09:41:39 GMT
ETag:"1d2bce813ee8a28"
Last-Modified:Mon, 24 Apr 2017 10:46:50 GMT
Transfer-Encoding:chunked …
Run Code Online (Sandbox Code Playgroud)

etag google-chrome browser-cache

5
推荐指数
0
解决办法
1677
查看次数

如何获得导致Persist操作失败的异常?

我有一个标准的WCF服务工作流程,有几个持久化操作(都是通过UI拖放创建的).大多数坚持不懈的行动都会成功,但其中一个失败了

将失败的Persist操作包装在Try/Catch块中没有帮助 - 它只是跨过catch并终止工作流.

如何找到持久性失败的具体原因?是否记录任何异常?

我正在开发Windows XP.

.net-4.0 workflow-foundation-4

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

SQL Alias vs dbo.prefix - 查询性能

假设您正在使用MS SQL Server:

哪些查询执行速度最快,为什么?

我会猜到最后一个,因为我认为别名只能解决他们的桌子一次?

SELECT  Account.AccountName, 
        AccountStatus.AccountState
FROM 
        dbo.Account
        INNER JOIN dbo.AccountStatus ON Account.AccountStatusID = AccountStatus.AccountStatusID
GO

SELECT  dbo.Account.AccountName, 
        dbo.AccountStatus.AccountState
FROM 
        dbo.Account
        INNER JOIN dbo.AccountStatus ON dbo.Account.AccountStatusID = dbo.AccountStatus.AccountStatusID
GO

SELECT  A.AccountName, 
        AST.AccountState
FROM 
        dbo.Account AS A
        INNER JOIN dbo.AccountStatus AS AST ON A.AccountStatusID = AST.AccountStatusID
GO
Run Code Online (Sandbox Code Playgroud)

sql sql-server alias join dbo

3
推荐指数
1
解决办法
1073
查看次数