传统的IPv4点分四元组符号用冒号分隔地址和端口,如环回接口上的Web服务器示例:
127.0.0.1:80
Run Code Online (Sandbox Code Playgroud)
但是使用IPv6表示法,地址本身可以包含冒号.例如,这是环回地址的简写形式:
::1
Run Code Online (Sandbox Code Playgroud)
端口(或其功能等价物)如何以IPv6地址/端口端点的文本表示形式表示?
单个WCF服务可以提供多个接口,如果是这样,您将如何表达这一点app.config
?
我的意思是一个服务在一个端点上提供多个接口.
有一个Request对象,获取请求内容类型很容易.但是,如何为响应指定内容类型?我的控制器看起来像这样(为简洁起见,其他操作被切除):
public class AuditController : ApiController
{
// GET api/Audit/CSV
[HttpGet, ActionName("CSV")]
public string Csv(Guid sessionId, DateTime a, DateTime b, string predicate)
{
var result = new StringBuilder();
//build a string
return result.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
这工作正常,但它的内容类型错误.我想这样做
Response.ContentType = "text/csv";
Run Code Online (Sandbox Code Playgroud)
一个小小的研究表明我们可以输入Action来返回一个HttpResponseMessage.所以我的方法的结尾看起来像这样:
var response = new HttpResponseMessage() ;
response.Headers.Add("ContentType","text/csv");
response.Content = //not sure how to set this
return response;
Run Code Online (Sandbox Code Playgroud)
关于HttpContent的文档相当稀疏,任何人都可以建议我如何将我的StringBuilder的内容放入HttpContent对象中?
我编写了一个 VS Code 扩展来支持打印。由于最近的所有问题都与外国字符集相关的问题有关,看来我应该支持英语以外的语言。
但我在 VS Code API 文档中找不到任何有关本地化的内容。有一个关于语言的部分,但这是关于计算机语言的解析和语法着色等。
是否有任何关于 VS Code 扩展本地化的支持或至少约定?
感谢 Gama11 为我指出了很好的资源。
总的来说,模态界面吸收大石头.另一方面,我想不出一个更好的方法来处理File Open ...,或者打印......而且,我想,这是因为
让我们整理一个小风格指南.建议任何用例,其中对话框是首选的表示,以及为什么它是首选.对话框可以是非模态的吗?如果是,那么如何标记交易边界,因为取消不再具有明确的含义.例如,您是否使用"应用"按钮?
VSCode 扩展激活方法可以是异步的吗?
似乎有效。
我找不到任何禁止这样做的内容。
我检查的扩展示例都没有异步激活方法。
VSCode 扩展安装依赖项激活命令中的代码确实可以做到这一点,并且作者说它有效。
有什么理由不这样做呢?
我希望我可以有一个异步激活方法的原因是我的扩展在“*”上激活,因为打印适用于所有文件。有些人收到高扩展 CPU 警告。官方建议是与 webpack 捆绑在一起,但在我看来,这只会将问题转化为前期成本。
就我个人而言,我从未遇到过加载缓慢的情况,但这可能是由于使用了 SSD,这会降低大量小文件的成本。
我正在使用C#开发SL5应用程序,我希望将其国际化.我发现以下内容来设置UI文化:
var culture = new CultureInfo(Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName);
Thread.CurrentThread.CurrentUICulture = culture;
Thread.CurrentThread.CurrentCulture = culture;
Run Code Online (Sandbox Code Playgroud)
像DatePicker这样的一些控件似乎可以解决这个问题.如果我使用'd'格式字符串格式化任何日期时间,我仍然会得到默认格式"M/dd/yyyy".
究竟SL如何解释文化以及如何为整个应用程序正确设置?
谢谢
更新:
找到答案:
首先,在Application_Startup中设置适当的文化:
var culture = new CultureInfo("nl-BE");
Thread.CurrentThread.CurrentUICulture = culture;
Thread.CurrentThread.CurrentCulture = culture;
Run Code Online (Sandbox Code Playgroud)
然而,关键因素是添加以下内容以强制RootVisual的文化/语言:
var root = RootVisual as Page;
if (root != null)
{
root.Language = XmlLanguage.GetLanguage(Thread.CurrentThread.CurrentCulture.Name);
}
Run Code Online (Sandbox Code Playgroud) 假设我们有这样的标记(多个tbody,我知道).
<tbody repeat.for="order of orders">
<tr repeat.for="line of order.lines">
<td>
<img if.bind="order.urgent === 'T'" src="../app/alert.svg">
<img if.bind="line.outOfSquare" src="../app/oos.svg">
</td>
<td class="min-width">
<img src.bind="'../app/'+line.type+'.svg'" alt="${line.type}">
</td>
</tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)
在由dotnet new Aurelia
图像创建的默认项目中,内联为DataUrls,因为它们很小.这是合理的,但根据绑定数据,它们在许多行中重复.调整webpack.config.js将阈值降低到1024字节,我们有
{ test: /\.(png|jpg|jpeg|gif|svg)$/, use: 'url-loader?limit=1024' }
Run Code Online (Sandbox Code Playgroud)
现在,图像在wwwroot/dist中显示为带有散列名称,并且URL被重写.计算的URL目标也通过添加到webpack.config.js捆绑在一起
,new GlobDependenciesPlugin({
"boot": [
"ClientApp/app/components/**/*.svg"
]
})
Run Code Online (Sandbox Code Playgroud)
不幸的是,计算的URL不会被重写.
src.bind="'../app/'+line.type+'.svg'"
Run Code Online (Sandbox Code Playgroud)
他们现在坏了.
我们需要在运行时解决这个问题,但到目前为止我找不到任何支持.已经提出了各种可能性:
我自己的研究表明有一些webpack插件以json的形式发出这些映射,但是我对Aurelia构建过程的浅层理解不允许我利用它 - 除了其他任何我不知道如何导致这个输出提供给申请.
这似乎相关,但无知妨碍了我.如何使用webpack文件加载器加载图像文件
我尝试使用require不起作用,但我怀疑Aurelia模块中自动在范围内的require方法不是可能解决映射的Webpack要求.据推测,webpack在运行时可用于加载和解码打包的应用程序,但我真的不知道,因为到目前为止它刚刚起作用,允许我在幸福的无知中运行.
我知道我可以通过使用对资源的静态引用分别处理每个行类型来将其嵌入到页面中,如下所示:
<img if.bind="line.type === 'AL'" src="../app/al.svg">
<img if.bind="line.type === 'GD'" src="../app/gd.svg">
Run Code Online (Sandbox Code Playgroud)
但这是高维护代码.
另一种可能性是走另一条路.借用建议来放置一个充满imgs的隐藏div,如果这些都是内嵌的,那么可以用绑定来复制图像.
"Windows 7区域和语言"对话框中的各种设置为CurrentCulture对象的属性提供值.但是,WPF控件似乎使用CurrentUICulture,导致完全无法尊重用户的首选项.
例如,在我的工作站上,WPF控件似乎使用了en-US的CurrentUICulture,导致它们以美国格式M/d/yyyy显示日期,而不是在"区域和语言"对话框中指定的澳大利亚格式.
在数据绑定中明确指定en-AU的文化会导致相关控件使用默认的澳大利亚格式,但它会继续忽略用户指定的格式.这很奇怪; 踩到应用程序我验证了DateTimeFormatInfo.CurrentInfo == Thread.CurrentThread.CurrentCulture.DateTimeFormat(同一个对象)和DateTimeFormatInfo.CurrentInfo.ShortDatePattern =="yyyy-MM-dd"(我设置的值,所以我可以确定用户首选项或默认值被提取).一切都如预期的那样,所以从表面上看,最重要的问题是如何说服WPF控件和数据绑定使用CurrentCulture而不是CurrentUICulture.
我们如何让WPF应用程序尊重区域和语言设置?
在Sphinxx的答案的基础上,我推翻双方 Binding类的构造函数为用户提供标准的标记更完整的兼容性.
using System.Globalization;
using System.Windows.Data;
namespace ScriptedRoutePlayback
{
public class Bind : Binding
{
public Bind()
{
ConverterCulture = CultureInfo.CurrentCulture;
}
public Bind(string path) : base(path)
{
ConverterCulture = CultureInfo.CurrentCulture;
}
}
}
Run Code Online (Sandbox Code Playgroud)
进一步的实验表明,您可以使用x:Static在标记中引用System.Globalization.CultureInfo.CurrentCulture.这在运行时是完全成功的,但在设计时是一场灾难,因为绑定编辑器一直在删除它.一个更好的解决方案是帮助类遍历窗口的DOM并修复它找到的每个Binding的ConverterCulture.
using System;
using System.Windows;
using System.Windows.Data;
using System.ComponentModel;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
namespace ScriptedRoutePlayback
{
public static class DependencyHelper
{
static Attribute[] __attrsForDP = new Attribute[] { new PropertyFilterAttribute(PropertyFilterOptions.SetValues | PropertyFilterOptions.UnsetValues | PropertyFilterOptions.Valid) …
Run Code Online (Sandbox Code Playgroud) 我有一个无序列表,我希望在页面上保持平衡.所以我应用了Bootstrap列平衡技术,如本示例所示.当然,真实物品的文字相当长.
<div class="row">
<ul>
<li class="col-xs-12 col-md-6">item 1</li>
<li class="col-xs-12 col-md-6">item 2</li>
<li class="col-xs-12 col-md-6">item 3</li>
<li class="col-xs-12 col-md-6">item 4</li>
<li class="col-xs-12 col-md-6">item 5</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
这在列平衡方面起作用.但是由于在这块引导程序中设置了填充左边,它搞砸了小号.
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
position: relative;
min-height: 1px; …
Run Code Online (Sandbox Code Playgroud) localization ×3
.net ×2
aurelia ×1
c# ×1
cultureinfo ×1
interface ×1
ipv6 ×1
modal-dialog ×1
ports ×1
silverlight ×1
tcp ×1
udp ×1
wcf ×1
webpack ×1
wpf ×1