根据每个项目,是否有人知道您是否可以在Visual Studio中设置WebProjectOutputDir.我想能够拥有它,以便当我点击Ctrl+ Shift+ B它自动将我的web项目构建到特定目录,但我还需要能够在我的构建脚本中覆盖它.
有没有人知道是否可以正确部署此类型的项目?我试过但不断收到此错误:
error MSB4019: The imported project "C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.SqlTasks.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
Run Code Online (Sandbox Code Playgroud) 我们在AppHarbor上托管并使用他们的memcacher附加组件,如文档中所述进行设置:
<sessionState cookieless="false" regenerateExpiredSessionId="true" mode="Custom"
customProvider="MemcachedSessionProvider" xdt:Transform="Insert">
<providers>
<add name="MemcachedSessionProvider"
type="MemcachedProviders.Session.SessionStateProvider,MemcachedProviders"
dbType="none" />
</providers>
</sessionState>
Run Code Online (Sandbox Code Playgroud)
我们看到的问题只能通过以下方式重现:
此时服务器发出302重定向到一个无效的URL,例如: http://appfail.net/(F(FckQ4UX0zD_WSxk_adpkk3YysHsYQS4TSVpljxmswyBqEAZ1q-YhW4KePrpYQfJ4KlLGaiyje_TbpeSARVyI8LioQ7Jp5EIc0Zm9u99IqRRkkoMh_wr-jrsrvje4J7KpUt1n87xEMzMeqHzpMz9ksm42IqNnf3F9B6GBwrnuA5EY_YsV0))/Applications
该URL似乎包含SessionID,其格式与IIS用于无Cookie会话的格式相同.这也是有道理的,因为IIS可以配置为使用基于UserAgent的无会话cookie - 因此它只能在移动safari中重现(尽管我不确定为什么它只发生在t.co/重定向,而不是直接加载页面)
奇怪的是 - 我们关闭了无cookie会话!正如您在上面的会话状态中所看到的那样.我也尝试过设置'cookieless ="UseCookies"'...没有运气!
我已经添加了日志记录,甚至验证了系统在运行时配置为"UseCookies".
那么,我想知道我们如何才能将用户重定向到一个cookieless-URL,只需使用RedirectToAction()?
我想知道这是否与自定义会话状态提供程序相关 - MemcachedProvider?还是更基本的东西?
谢谢山姆
我正在使用.NET试验Heroku API System.Net.Http.HttpClient.特别是,我想keep-alive工作,以便我可以使用一个TCP连接发送许多HTTP请求,并且只进行一次SSL握手,而不是每次请求使用SSL握手设置TCP连接.
我正在测试https://api.heroku.com/status,它提供了一个很好的HTTP 200,并使用Wireshark来监控TCP流量.
Google Chrome,ApacheBench(带-k标志)和curl似乎都能够保持TCP连接打开并发送多个请求.HttpClient,不是那么多.我还针对其他主机测试了HttpClient(例如https://google.com/,我只看到一个SSL握手/ TCP设置.所以看起来这是HttpClient和Heroku API之间的糟糕交互.
这是我正在测试的代码:
private static async void TestUrl(string url)
{
using (var client = GetClient())
{
await client.GetAsync(url);
await client.GetAsync(url);
await client.GetAsync(url);
await client.GetAsync(url);
}
}
private static HttpClient GetClient()
{
var requestHandler = new HttpClientHandler
{
UseCookies = false,
AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip,
};
return new HttpClient(requestHandler);
}
Run Code Online (Sandbox Code Playgroud)
我还附上了一个Wireshark屏幕截图,显示HttpClient RST在接收数据后立即决定重置()连接.

对于这里发生了什么的任何建议?
我有一个GeoDjango模型对象,我不想序列化为json.我在我看来这样做:
lat = float(request.GET.get('lat'))
lng = float(request.GET.get('lng'))
a = Authority.objects.get(area__contains=Point(lng, lat))
if a:
return HttpResponse(simplejson.dumps({'name': a.name,
'area': a.area.geojson,
'id': a.id}),
mimetype='application/json')
Run Code Online (Sandbox Code Playgroud)
问题是,simplejson认为a.area.geojson作为一个简单的字符串,即使它是美丽的预先生成的JSON.这可以通过eval()"区域字符串" 在客户端中轻松修复,但我想做到这一点.我可以告诉simplejson一个特定的字符串已经是json并且应该按原样使用(而不是作为简单的字符串返回)?或者还有另一种解决方法吗?
更新 只是为了澄清,这是当前返回的json:
{
"id": 95,
"name": "Roskilde",
"area": "{ \"type\": \"MultiPolygon\", \"coordinates\": [ [ [ [ 12.078701, 55.649927 ], ... ] ] ] }"
}
Run Code Online (Sandbox Code Playgroud)
挑战是让"area"成为json字典而不是简单的字符串.
有没有办法让Azure网站为来自像Amazon Web Services CloudFront这样的HTTP 1.0代理的请求提供gzip的内容?考虑这样的请求:
curl -I -H "accept-encoding: gzip,deflate,sdch" -H "Via: 1.0 {foo.cdn.net}" -0 http://{fooproject}.azurewebsites.net/
Run Code Online (Sandbox Code Playgroud)
似乎要完成的一般方法是将以下元素添加到system.webServer:
<httpCompression noCompressionForHttp10="false" noCompressionForProxies="false" />
Run Code Online (Sandbox Code Playgroud)
它似乎httpCompression只在有效,ApplicationHost.config而不是web.config在Azure网站上不可覆盖.
有关解决方法的任何建议吗?
其他资源:
我正在尝试基于客户端Accept标头实现内容协商,以便接受的客户端image/webp获取 webp 图像,而不会获取普通旧 jpeg 的客户端。webp 和 jpeg 图像由相同的 url(即 /images/foo-image/)提供,并且返回的内容因Accept客户端呈现的标头而异。现在这在我的网站上效果很好。
下一个挑战是让这个有效的 AWS CloudFront 出现在我的站点前面。我将Vary标头设置为Vary: Accept让 CloudFront 知道它必须根据客户端Accept标头缓存并提供不同的内容。
不幸的是,这似乎不起作用,即 CloudFront 只是提供它首先得到的任何东西,Vary尽管如此Accept。有趣的是,CloudFront 似乎确实能够根据Accept-Encoding(即 gzip)改变内容。
有谁知道什么给?
我的 Heroku 应用程序只有一个 dyno,它访问外部资源,例如 database\cache\web-services\etc?
dyno IP 地址不是静态的,可能会更改,但不会经常更改。当您执行这些资源的维护时,了解哪个 IP 与哪个客户端相关联通常很有用,即使它是临时的。所以...
我如何临时知道 dyno 将从哪个 IP 地址访问资源?
我正在使用web.config转换文件的概念.我有三个网络配置.一个是分期,生产,部署.我对这三个有不同的连接信息.
Web.Config中:
<connectionStrings>
<add name="MyGallery"
connectionString="Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DevelopmentStorageDb;Data Source=BALA\SQLEXPRESS" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
Web.Config.Production:
<add
name="MyGallery"
connectionString="Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=SharePoint_Config;Data Source=BALA\SQLEXPRESS"
xdt:Transform="Replace" xdt:Locator="Match(name)"
/>
Run Code Online (Sandbox Code Playgroud)
现在我构建它正常工作的代码.我创建了包.当我在生产模式下运行代码时,新的连接字符串没有占用.
我该怎么解决这个问题.我是否需要额外的努力才能将其移至某个地方
visual-studio-2010 msdeploy visual-studio web-config-transform
这是我到目前为止所做的.
我按照信件的指南(好吧,除了slug,所以我发现这是问题).
我使用rethinkdb作为后端编写node.js应用程序.
要检索json值,您可以使用:
r.table('users').get(1).run()
Run Code Online (Sandbox Code Playgroud)
该方法调用将返回完整的json文档,但是有一种方法允许您指定要检索的属性,例如:
r.table('users').get(1).pick('firstName', 'lastName').run()
Run Code Online (Sandbox Code Playgroud)
我想利用这个功能,我想要"选择"存储在数组中的属性.我似乎无法找到将此数组转换为.pick方法的参数列表的方法.
请指教.
AppHarbor对我们的.NET解决方案非常有吸引力.但我有一些在互联网上找不到的问题.
我们主要关心的是专用SQL Server的可靠性:
与SQL数据库的通信是否可靠?例如,在Azure SQL中,建议构建重试逻辑 - 如果命令不成功,则重试.
AppHarbor可靠吗?每个云提供商偶尔会有一些停电(亚马逊,MS Azure ......).与他们相比,AppHarbor的可靠性是否更低?我知道AppHarbor运行在亚马逊之上.
谢谢您的帮助.