小编Stu*_*ows的帖子

使用XML序列化序列化没有父节点的集合

假设我有一堂课;

public class Car 
{ 
  public List<Passenger> Passengers {get; set;} 
}
Run Code Online (Sandbox Code Playgroud)

我想将其序列化为XML,以便乘客是Car的子节点,并且没有介入的Passengers节点.换句话说,我希望输出看起来像这样;

<Car>
  <Passenger>...</Passenger>
  <Passenger>...</Passenger>
</Car>
Run Code Online (Sandbox Code Playgroud)

而不是这样,这是默认布局;

<Car>   
  <Passengers>
    <Passenger>...</Passenger>
    <Passenger>...</Passenger>
  </Passengers> 
</Car>
Run Code Online (Sandbox Code Playgroud)

有一个属性我需要添加到Car.Passengers来实现这一点,我不记得哪个.

c# xml-serialization

25
推荐指数
1
解决办法
6485
查看次数

清除ClickOnce部署垃圾的建议

.NET ClickOnce应用程序部署到C:\ Documents and Settings \\ Local Settings\Apps\2.0的子文件夹中.在开发过程中,我们倾向于进行大量小的更改,并且通过定期部署,很多垃圾都会累积到此文件夹中.令人惊讶的是,"删除临时Internet文件"不会从此文件夹中删除旧内容.有谁知道Windows/.NET是否采取任何步骤从这里删除东西或者只是继续积累.谢谢!

clickonce

16
推荐指数
2
解决办法
2万
查看次数

SpecFlow/Gherkin在Sublime Text 2中突出显示

有没有人知道是否有任何Sublime Text 2软件包可用于为SpecFlow/Gherkin规范文件启用语法高亮显示?

specflow gherkin sublimetext sublimetext2

15
推荐指数
1
解决办法
1万
查看次数

WPF网格 - 当内容可见性设置为Visibility.Collapsed时,自动调整大小的列不会折叠

我有以下简单的WPf网格,两列,每列中的一个按钮,第一列自动调整大小以及允许列调整大小的拆分器.在拆分器MouseDoubleclick事件上设置事件处理程序.单击分割器时,左列中的按钮将折叠.

现在,由于第1列是自动调整大小并且内容已折叠,我希望此时第1列应该被有效隐藏,但事实并非如此.虽然其内容已折叠,但列大小不会更改(记住列已自动调整).

对我来说似乎很奇怪,我希望专栏崩溃 - 任何想法在这里发生了什么?

<Window x:Class="KingLayout.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition />
        </Grid.RowDefinitions>
        <Button x:Name="leftButton">Left</Button>
        <Button Grid.Column="1" Margin="5,0,0,0">Right</Button>
        <GridSplitter Name="verticalSplitter" ShowsPreview="True" Grid.RowSpan="1" Grid.Column="1" HorizontalAlignment="Left"
                      VerticalAlignment="Stretch" Width="5" MouseDoubleClick="verticalSplitter_MouseDoubleClick"/>
    </Grid>
</Window>


    private void verticalSplitter_MouseDoubleClick(object sender, MouseButtonEventArgs e)
    {
        leftButton.Visibility = leftButton.Visibility == Visibility.Visible ? Visibility.Collapsed : Visibility.Visible;
    }
Run Code Online (Sandbox Code Playgroud)

wpf grid visibility

9
推荐指数
1
解决办法
9601
查看次数

尽管所有测试都通过,但TeamCity NUnit构建步骤失败

我正在设置TeamCity来运行一些NUnit测试,TeamCity报告所有测试都通过但它报告构建失败,并显示错误消息"新构建状态为:: NUnit error,{build.status.text}".深入到构建日志中我可以看到加载被测试程序的失败,这是报告的错误;

[Step 2/2] NUnit error running tests in 'C:\TeamCity\buildAgent\work\f73bb9cce36ccd59\ProjectName.Web\ProjectName.BrowserTests\obj\Release\MyProject.BrowserTests.dll' assembly
Loading assembly is compiled for v4.0.30319, MSIL
NUnit runner runtime is v4.0.30319, x86
System.IO.FileNotFoundException: Could not load file or assembly 'MyProject.Browser, Version=0.24.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
File name: 'MyProject.Browser, Version=0.24.0.0, Culture=neutral, PublicKeyToken=null'

Server stack trace: 
   at System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly assembly, ObjectHandleOnStack retTypes)
   at System.Reflection.RuntimeAssembly.GetExportedTypes()
   at NUnit.Core.CoreExtensions.InstallAdhocExtensions(Assembly assembly)
   at NUnit.Core.Builders.TestAssemblyBuilder.Load(String path)
   at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, Boolean autoSuites)
   at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, String testName, …

teamcity continuous-integration nunit build

8
推荐指数
1
解决办法
2518
查看次数

从Azure WebJob安全地调用WebSite托管的Web API

我有一个连续调度的Web作业,它正在监视消息队列,关闭消息并在对等Web站点上调用Web API来处理消息(在这种情况下使用SignalR向适当的用户发送通知).

在这种情况下,安全地调用Web API的最佳方法是什么?否则,在网站中托管的API显然是公开的.也许使用Basic Auth或在配置中存储安全令牌并将其从作业传递到Web API.或者创建自定义AuthorizeAttribute?

关于从WebJob保护Web API调用的Ant想法将非常感激.API只能从WebJob中调用.

更新: 也许这样的事情?

首先我宣布这个班级;

public class TokenAuthenticationHeaderValue : AuthenticationHeaderValue
{
    public TokenAuthenticationHeaderValue(string token)
        : base("Token", Convert.ToBase64String(Encoding.UTF8.GetBytes(token)))
    { }
}
Run Code Online (Sandbox Code Playgroud)

然后调用者(WebJob)在发出HTTP请求时使用此类设置auth头;

using (var client = new HttpClient())
{
    client.BaseAddress = new Uri(/* something */);
    client.DefaultRequestHeaders.Accept.Clear();
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new TokenAuthenticationHeaderValue("TOKEN FROM CONFIG"); 
    // ....
Run Code Online (Sandbox Code Playgroud)

在Web API中,我们检查请求在auth头中查找预期的令牌,目前代码非常难看,但这可以放入自定义属性中;

public HttpResponseMessage Post([FromBody]TheThing message)
{
    var authenticationHeader = Request.Headers.Authorization;
    var token = Encoding.UTF8.GetString(Convert.FromBase64String(authenticationHeader.Parameter));
    if (authenticationHeader.Scheme != "Token" || token != "TOKEN FROM CONFIG")
    {
        return Request.CreateErrorResponse(HttpStatusCode.Unauthorized, "No, …
Run Code Online (Sandbox Code Playgroud)

azure azure-webjobs

6
推荐指数
1
解决办法
2141
查看次数

Xamarin表示Android OnAppearing在PopModalAsync之后不触发

在使用Modal页面的同时调用PopModalAsync之后,是否有解决Android不能触发的问题.这是一个例子:

using System;
using Xamarin.Forms;

namespace XamarinForms
{
    public class OnAppearingBug : ContentPage
    {
        Label label;
        public OnAppearingBug ()
        {
            label = new Label {
                Text = "Page"
            };
            Button button = new Button {
                Text = "PushModal"
            };
            button.Clicked += (sender, e) => Navigation.PushModalAsync (new PopModalBug ());

            Content = new StackLayout {
                Children = { label, button }
            };
        }
        protected override void OnAppearing(){
            label.Text = "OnAppearing";
        }
    }
}

using System;
using Xamarin.Forms;

namespace XamarinForms
{
    public class …
Run Code Online (Sandbox Code Playgroud)

xamarin.android xamarin xamarin.forms

6
推荐指数
2
解决办法
7328
查看次数

如何使Bootstrap粘性页脚内容达到整页高度?

我正在使用Boostrap示例使用CSS为网站创建粘性页脚,这一切都很好,页面调整大小后页脚底部保留在页面底部.在许多页面上,我有内容需要显示几乎整页,禁止页脚.因此,页面的内容部分需要设置为100%高度,因此其内容又可以调整为全高.

这是一个演示问题的JSFiddle.

我们怎样才能让绿色容器达到全高,所以它触及顶部的页面顶部和底部的页脚顶部?

谢谢!

<div id="wrap">
    <!-- Begin page content -->
    <div class="container">
        <div class="page-header">
            <h1>Sticky footer</h1>

        </div>
        <p class="lead">This is the sticky footer template taken from the Bootstrap web site.</p>
        <p class="lead">How can we make this green .container div the full height of its parent #wrap div?</p>
    </div>
    <div id="push"></div>
</div>
<div id="footer">
    <div class="container"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
#wrap .container {
    background-color: lightgreen;
}
/* Sticky footer styles  */
html, body {
    height: 100%;
    /* The html and body elements cannot …
Run Code Online (Sandbox Code Playgroud)

html css layout sticky-footer twitter-bootstrap

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