德语变音符号(ä,ö,ü)和sz字符(ß)是否在电子邮件地址的本地部分有效?
例如,请使用此电子邮件地址: björn.nußbaum@trouble.org
RFC 5322非常清楚地说,不允许使用变音符号(以及其他国际字符).如果我看一下第3.4.1章,关于本地部分有如下内容:
local-part = dot-atom / quoted-string / obs-local-part
那是什么意思dot-atom?它在第3.2.3章中描述:嗯,长话短说:Printable US-ASCII characters not including specials
所以在整个RFC 5322中我看不到任何有关国际字符的内容.或者RFC 5322已经过时了?(RFC 822 - > RFC 2822 - > RFC 5322)
更新: 对我来说重点是:目前的标准是什么?允许或不允许国际字符? RFC 5322标记为DRAFT STANDARD.所以我认为这是最新的依赖来源,不是吗?
Efran提到,RFC 5336允许使用国际字符.但RFC 5336被标记为实验,所以这对我来说并不重要.
我有一个WCF服务与以下合同:
[ServiceContract(Namespace="http://myNamespace.org/")]
public interface IMyService
{
[OperationContract]
string Invert(string s);
[OperationContract]
string ToUpper(string s);
}
Run Code Online (Sandbox Code Playgroud)
客户端调用这两种方法,Invert和ToUpper.想象一下,我想使用消息记录,但我唯一感兴趣ToUpper的方法是使用另一种方法,并且记录所有消息会破坏日志;)
在这里,我将介绍如何过滤写入日志的消息.但我必须做错事,因为我的日志仍然是空的......我的配置看起来像这样
<system.serviceModel>
...
<diagnostics>
<messageLogging logEntireMessage="true" logMessagesAtServiceLevel="false" logMalformedMessages="true" logMessagesAtTransportLevel="true">
<filters>
<add xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing">/soap:Envelope/soap:Header/a:Action[starts-with(text(),'http://myNamespace.org/IMyService/ToUpper')]</add>
</filters>
</messageLogging>
</diagnostics>
</system.serviceModel>
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging">
<listeners>
<add name="ServiceModelTraceListener" />
</listeners>
</source>
</sources>
<sharedListeners>
<add initializeData="LogServer.svclog" type="System.Diagnostics.XmlWriterTraceListener" name="ServiceModelTraceListener" />
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>
Run Code Online (Sandbox Code Playgroud)
如果我应用这个过滤器,就不会在日志中输入任何消息......那么我对上面的链接示例做错了什么?
没有过滤器,默认消息的xml跟踪(ToUpper使用字符串参数调用的方法hello)如下所示:
<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent">
<System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system">
<EventID>0</EventID>
<Type>3</Type>
<SubType Name="Information">0</SubType>
<Level>8</Level>
<TimeCreated SystemTime="2011-05-27T17:53:53.9908714Z" /> …Run Code Online (Sandbox Code Playgroud) 假设我有一个如下所示的配置文件:...
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="Warning,ActivityTracing" propagateActivity="true">
<listeners>
<add name="ServiceModelTraceListener" />
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging">
<listeners>
<add name="ServiceModelTraceListener" />
</listeners>
</source>
</sources>
<sharedListeners>
<add initializeData="LogServer.svclog" type="System.Diagnostics.XmlWriterTraceListener" name="ServiceModelTraceListener" />
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>
Run Code Online (Sandbox Code Playgroud)
当使用此配置文件时,调用者对服务执行的每个活动以及发送到服务的每个相应消息都将记录在svclog文件中.到目前为止一切都很好.
如果我将上面列表中的第3行修改为<source name="System.ServiceModel" switchValue="Warning" propagateActivity="true">(ActivityTracing已删除),则仅记录那些至少标记为级别警告的活动.但它仍然记录了每条消息......
那么有没有办法只记录与那些至少是警告的活动相对应的那些消息?那些成功的消息在那一刻并不是很有趣,但那些属于不成功活动的消息是!
我创建了一个REST Web服务,它返回一个以xml格式传递的id.
但是,作为返回的xml的一部分,我想要包含自定义标头.我希望能够读取请求标头中的数据,并在响应中返回其中一些数据.
例如,如果请求包含Header1和Header2,我想返回Header1和Header2作为响应的一部分,以及一个新的头文件Header3.
我正在努力找出在哪里以及如何做到这一点,所以任何帮助将不胜感激.
我的代码:
RestServiceImpl.svc.cs:
namespace RestService
{
public class RestServiceImpl : IRestServiceImpl
{
#region iRestService Members
public string XMLData(string id)
{
return "You requested product " + id;
}
#endregion
}
}
Run Code Online (Sandbox Code Playgroud)
IRestServiceImpl.cs:
namespace RestService
{
[ServiceContract]
public interface IRestServiceImpl
{
[OperationContract]
[WebInvoke(Method = "GET",
ResponseFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "xml/{id}")]
string XMLData(string id);
}
}
Run Code Online (Sandbox Code Playgroud) 我试图找到一种方法将权限信息存储到SQL Server 2012数据库中.我的权限设置如下:
[Flags]
public enum PermissionsB
{
Aucun = 00000000,
read = 00000001,
write= 00000010,
ssss = 00000100,
tttt = 00001000,
rrrr = 00010000,
}
Run Code Online (Sandbox Code Playgroud)
而且我找不到存储到数据库中的方法,比方说00000011允许一个人在我的程序中读取/写入一些东西.我确实有一个int列准备存储,但无法弄清楚如何使用它.
我有一个对象数组.现在我想将它们转换为json.
var dd =new MyUser[10];
for (int i = 0; i < 10; i++)
{
Debug.Log(i);
dd[i] = new MyUser();
dd[i].Status = 1;
dd[i].TokenReg = "wsdfaf";
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能将dd数组转换为json?
在我的WCF界面中,我有一个类定义
[DataContract]
public class Student
{
[DataMember]
public int Sid { get; set;}
[DataMember]
public string StudentName { get; set;}
[DataMember]
public int M1 { get; set;}
[DataMember]
public int M2 { get; set; }
[DataMember]
public int M3 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我有这个方法
[OperationContract]
Student GetTopper(List<Student> LS);
Run Code Online (Sandbox Code Playgroud)
上述方法应收集类型列表<Student>,计算每个学生的M1,M2和M3的平均值,并返回平均值最高的学生.
这就是我目前对GetTopper方法的实现
public Student GetTopper(List<Student> LS)
{
foreach (Student s in LS)
{
double Avg = (s.M1 + s.M2 + s.M3) / 3.0;
}
}
Run Code Online (Sandbox Code Playgroud)
如何使用GetTopper类实现它?这是通过一个学生名单,计算他们的平均分数,并返回平均最高的学生.谢谢
我有一个重复的方法调用,如下所示:
GroupGenerator(param1, enum.val1, true, false, false)
Run Code Online (Sandbox Code Playgroud)
每次调用时,布尔值都会更改以涵盖所有可能的组合,
true, false, false
true, true, false
etc etc
Run Code Online (Sandbox Code Playgroud)
如果没有GroupGenerator(param1...一遍又一遍地写行,有没有更简洁的方法呢?
任何帮助/意见非常感谢.
在对api进行查询后,我得到了一个json响应.
JSON就像:
{
"results": [
{
"alternatives": [
{
"confidence": 0.965,
"transcript": "how do I raise the self esteem of a child in his academic achievement at the same time "
}
],
"final": true
},
{
"alternatives": [
{
"confidence": 0.919,
"transcript": "it's not me out of ten years of pseudo teaching and helped me realize "
}
],
"final": true
},
{
"alternatives": [
{
"confidence": 0.687,
"transcript": "is so powerful that it can turn bad morals the …Run Code Online (Sandbox Code Playgroud)