我有一个半逗号分隔名称的字符串:
string names = "Jane;Harry";
Run Code Online (Sandbox Code Playgroud)
我还有一个客户对象列表:
public class Customer
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
List<Customer> customers = new List<Customer>();
customers.Add(new Customer(){FirstName="John", LastName="Doe"});
customers.Add(new Customer(){FirstName="Jane", LastName="Doe"});
customers.Add(new Customer(){FirstName="Harry", LastName="Potter"});
var query = from c in customers
select c;
Run Code Online (Sandbox Code Playgroud)
如何创建仅返回名称位于半逗号分隔列表中的客户的查询?
类似于T-SQL SELECT FistName FROM customer WHERE FirstName IN (list)
(有点像)
我有一个SMTP服务器只接受预定义的发件人.
但是,我可以在DATA结构中添加一个自定义标题来设置另一个(发送者)地址.如果我使用Telnet测试撰写电子邮件消息,则可以这样做:
>helo there
>mail from:the.only.allowed.sender@mydomain.com
>rcpt to:magnus@mydomain.com
>data
From:magnus@mydomain.com
To:some.user@mydomain.com
Subject:Test
Test message
.
Run Code Online (Sandbox Code Playgroud)
当此电子邮件到达收件人时,起始地址为magnus@mydomain.com,这是目标.
这是我的问题.
我如何模仿System.Net.Mail SMTP类中的"from header"?设置from属性失败,因为这会违反SMTP服务器策略.像这样的东西会很棒,但它不起作用:
var fromAddress = new MailAddress("the.only.allowed.sender@mydomain.com");
var toAddress = new MailAddress("user@mydomain.com");
string subject = "Subject";
string body = "Body";
var smtp = new SmtpClient
{
Host = "my-smtp-server",
Port = 25,
DeliveryMethod = SmtpDeliveryMethod.Network
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body,
ReplyTo = new MailAddress("magnus@mydomain.com"),
})
{
message.Headers.Add("From", "magnus@mydomain.com"); // <---- This would …Run Code Online (Sandbox Code Playgroud) 在.NET 4中,这个带有递归的Directory.EnumerateFiles()方法看起来很方便.
但是,如果在递归中发生异常,我如何继续/从中恢复并继续枚举其余文件?
try
{
var files = from file in Directory.EnumerateFiles("c:\\",
"*.*", SearchOption.AllDirectories)
select new
{
File = file
};
Console.WriteLine(files.Count().ToString());
}
catch (UnauthorizedAccessException uEx)
{
Console.WriteLine(uEx.Message);
}
catch (PathTooLongException ptlEx)
{
Console.WriteLine(ptlEx.Message);
}
Run Code Online (Sandbox Code Playgroud) 我正在使用MongoDB v1.4和mongodb-csharp驱动程序,我尝试对具有10000个以上密钥的数据存储进行分组,因此我收到此错误:
assertion: group() can't handle more than 10000 unique keys
使用像这样的c#代码:
Document query = new Document().Append("group",
new Document()
.Append("key", new Document().Append("myfieldname", true).Append("length", true))
.Append("$reduce",
new CodeWScope(
"function(obj,prev) { prev.count++; }"))
.Append("initial", new Document().Append("count", 0))
.Append("ns", "myitems"));
Run Code Online (Sandbox Code Playgroud)
我读到我应该使用map/reduce,但我无法弄清楚如何.有人可以说明如何使用map/reduce吗?
或者还有其他方法可以解决这个限制吗?
谢谢.
编辑:我忘记了我的密钥集中有2列,添加了.
我是SharePoint工作流程的新手.
创建新任务并分配TaskId时,我有两个选择:
新属性是依赖属性.
我的问题是将任务分配为字段还是属性有什么区别?
谢谢
我有一个问题就是让我的秘密API密钥在全世界范围内成千上万的移动设备上.它可能很容易受到攻击并被黑客用于恶意目的.
那么我的选择是什么?我猜一个私有服务器,它有秘密的API密钥和一个封装所有方法调用的Web服务.因此,而不是具有密钥的移动设备,并执行以下操作:
List<Friends> = service.GetFriends(secretKey);
如果我的秘密API密钥被泄露并用于垃圾邮件/滥用目的,我必须关闭所有用户的使用,让我的应用程序死在海中.
所以我的想法是我可以使用移动设备唯一的设备ID并执行:
List<Friends> = myService.GetFriends(deviceID);
当然,恶意黑客可以使用假的deviceID来调用我的Web服务,但至少我现在可以控制将设备ID列入黑名单.它还引入了一些潜在的带宽问题,但这不是一个问题.
真正的PKI可能是不可能的,因为目标设备不处理当前版本中的HTTP客户端证书.
还有其他好主意吗?
我正在使用ASP.NET MVC 3 Mvccontrib网格,如下所示:
@Html.Grid(Model).Columns(column =>
{
column.For(x => x.UserId).Named("ID");
column.For(x => x.Name);
column.Custom(@<div><img src='@item.ImageUrl' alt="@item.Name"/><a href="@item.Link">@item.Name</a></div>).Named("Name");
column.For(x => x.Score).Named("Score");
})
Run Code Online (Sandbox Code Playgroud)
但现在我需要将其转换为自定义网格模型:
@Html.MvcContrib().Grid(Model).WithModel(new MyGridModel()).Sort(ViewData["sort"] as GridSortOptions).Attributes(id => "grid", style => "width: 100%;")
Run Code Online (Sandbox Code Playgroud)
与相应的网格模型:
public class MyGridModel : GridModel<MyModel>
{
public MyGridModel()
{
Column.For(x => x.UserId);
Column.For(x => x.Name);
Column.For(x => x.ImageUrl);
RenderUsing(new HtmlTableGridRenderer<MyModel>());
}
}
Run Code Online (Sandbox Code Playgroud)
但是如何在网格模型中执行自定义列?
Column.Custom(???);
我有一个带有DataTemplate的List,它显示文本,旁边有一个"x"按钮.我希望"X"btn显示在最右边,所以它们都出现在同一个地方.我使用的XML是:
<ListBox Name="seiveListBox" ItemsSource="{Binding}" MinWidth="80" Height="120" ScrollViewer.VerticalScrollBarVisibility="Visible" >
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding}" />
<Button Name="delSeiveFromListBtn" Content="X" ToolTip="Delete" Margin="8, 0, 0, 0" Click="delSeiveFromListBtn_Click"></Button>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)
我尝试在StackPanel中添加Grid inpalce,但没有成功.
如何设计它或将列表中的"x"对齐到每个项目的最右侧.
因此,我很难在Android Studio v0.2中使用Gradle v1.6设置一个非常简单的项目.我想创建一个使用ActionBarSherlock的简单应用程序,因此我在Android Studio中创建了一个Project.
在创建项目的同一根文件夹中,我已经下载了最新的ABS.
所以这是我的结构:
|ABSAppProject
|..settings.gradle
|..build.gradle
|--ABSApp
|....build.gradle
|actionbarsherlock
|..build.gradle
Run Code Online (Sandbox Code Playgroud)
在根中settings.gradle,我有:
include ':ABSApp'
include 'actionbarsherlock'
project(':actionbarsherlock').projectDir=new File('actionbarsherlock')
Run Code Online (Sandbox Code Playgroud)
在actionbarsherlock/build.gradle我有:
apply plugin: 'android-library'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
dependencies {
compile 'com.google.android:support-v4:r7'
}
android {
compileSdkVersion 14
buildToolsVersion '17'
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
res.srcDirs = ['res']
}
}
}
Run Code Online (Sandbox Code Playgroud)
最后ABSApp/build.gradle,我有:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+' …Run Code Online (Sandbox Code Playgroud) 我将Android IntelliJ IDEA项目从一个位置移动到另一个位置.出于某种原因,IDEA丢失了所有模块,我不得不重新导入它们.
现在当我编译时,我得到这个DEX错误:
Error:Android Dex: [MyApp] Unable to execute DX
Error:Android Dex: [MyApp] com.android.dex.DexException: Multiple dex files define Lcom/google/common/base/FinalizableReference;
Error:Android Dex: [MyApp] at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)
Error:Android Dex: [MyApp] at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)
Error:Android Dex: [MyApp] at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533)
Error:Android Dex: [MyApp] at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)
Error:Android Dex: [MyApp] at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
Error:Android Dex: [MyApp] at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
Error:Android Dex: [MyApp] at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
Error:Android Dex: [MyApp] at com.android.dx.command.dexer.Main.run(Main.java:230)
Error:Android Dex: [MyApp] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Error:Android Dex: [MyApp] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
Error:Android Dex: [MyApp] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
Error:Android Dex: [MyApp] at …Run Code Online (Sandbox Code Playgroud)