小编And*_*NET的帖子

绑定到列表框时出现XamlParseException

在我的应用程序中,我允许用户将相机和照片库中的照片保存到隔离存储中.然后我获取每个文件的名称并阅读照片并添加到我的列表中.构建列表后,我将其绑定到列表框.

我可以大约5显示没有问题.滚动后我得到异常:

System.Windows.Markup.XamlParseException occurred
  Message= [Line: 0 Position: 0]
   --- Inner Exception ---
KeyNotFoundException
Run Code Online (Sandbox Code Playgroud)

这是我的XAML:

<ListBox x:Name="userPhotosListBox">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel x:Name="DataTemplateStackPanel" Orientation="Horizontal">
                <ContentControl Content="{Binding Image}" Width="400" />
                <Image Name="{Binding FileName}" Source="/Images/appbar.delete.rest.png" Width="48" Height="48"
                    MouseLeftButtonUp="Image_MouseLeftButtonUp" VerticalAlignment="Center" HorizontalAlignment="Center" MaxWidth="48" MaxHeight="48" />
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)

这是代码:

using (var store = IsolatedStorageFile.GetUserStoreForApplication())
{
    var userFiles = store.GetFileNames();
    foreach (var userFile in userFiles)
    {
        if (userFile.Contains(PhotoInIsolatedStoragePrefix))
        {
            var currentBitmap = ReadBitmapImageFromIso(userFile);
            var userPhotoImage = new Image { Source = currentBitmap };
            var userImg = …
Run Code Online (Sandbox Code Playgroud)

c# xaml xamlparseexception windows-phone-7

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

将一种类型的列表映射到另一种类型

对于我的对象,我使用的是Csla,它具有BrokenRulesCollection属性.我想将它转换为我自己的具有StatusMessages属性的DTO.

我创建了自己的解析器:

public class BrokenRulesCollectionResolver : ValueResolver<Csla.Validation.BrokenRulesCollection, StatusMessageList>
{
    protected override StatusMessageList ResolveCore(Csla.Validation.BrokenRulesCollection source)
    {
        var messageList = new StatusMessageList();
        messageList.ReadBrokenRules(source);
        return messageList;
    }
}
Run Code Online (Sandbox Code Playgroud)

在映射中,我让它知道要使用哪个解析器:

        Mapper.CreateMap<DomainObjects.Members.IMemberRegistration, DTO.Members.MemberRegistrationForm>()
            .ForMember(src => src.StatusMessages, opt => opt.ResolveUsing <BrokenRulesCollectionResolver>());
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试进行映射时:

       return Mapper.Map<DomainObjects.Members.IMemberRegistration, DTO.Members.MemberRegistrationForm>(memberRegistration);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

提供的值类型为Csla.Validation.BrokenRulesCollection,但预期为Favs.DomainObjects.Members.MemberRegistration.更改值解析程序源类型,或使用FromMember重定向提供给值解析程序的源值.

有什么建议?

编辑:

作为后续,我也试图创建一个转换但仍然得到相同的消息:

public class BrokenRulesCollectionConverter : ITypeConverter<Csla.Validation.BrokenRulesCollection, StatusMessageList>
{
    public StatusMessageList Convert(ResolutionContext context)
    {
        var test = new StatusMessageList();
        test.ReadBrokenRules((Csla.Validation.BrokenRulesCollection)context.SourceValue);
        return test;
    }
}
Run Code Online (Sandbox Code Playgroud)

并配置如下:

        Mapper.CreateMap<Csla.Validation.BrokenRulesCollection, StatusMessageList>()
            .ConvertUsing<BrokenRulesCollectionConverter>();
Run Code Online (Sandbox Code Playgroud)

c# automapper

4
推荐指数
1
解决办法
1995
查看次数

使用Selenium WebDriver.dll的Azure函数

我试图从Azure Function C#代码使用Selenium WebDriver.dll,并且在实例化WebDriver时遇到以下问题。

错误:

2017-10-16T20:02:25.169执行功能时发生异常:Functions.fnTestSelenium。Microsoft.Azure.WebJobs.Script:发生一个或多个错误。mscorlib:该路径不是合法格式.2017-10-16T20:02:25.278功能已完成(失败,Id = 2fcb928f-ee39-4cfe-99f2-4be2d57e91b2,持续时间= 843ms)

#r 使用System.Net的“ D:\ home \ site \ wwwroot \ fnTestSelenium \ bin \ WebDriver.dll”;

using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;

public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
    log.Info("C# HTTP trigger function processed a request.");

    IWebDriver driver=new FirefoxDriver();
    // parse query parameter
    string name = req.GetQueryNameValuePairs()
        .FirstOrDefault(q => string.Compare(q.Key, "name", true) == 0)
        .Value;

    // Get request body
    dynamic data = await req.Content.ReadAsAsync<object>();

    // Set name to query string or body …
Run Code Online (Sandbox Code Playgroud)

c# selenium azure selenium-webdriver azure-functions

4
推荐指数
1
解决办法
1367
查看次数

替换字符串中的新行

我有一个逻辑应用程序,当安全中心出现安全警报时会触发该应用程序。

我有一个步骤,我将输入的一个子集映射到一个 JSON 文档并使用它来创建一个文件。

我需要我正在创建的 JSON 文档都在一行中,所以我需要确保我替换了输入中的任何控制换行符。

示例输入:

{
    "headers": {
        "Content-Type": "application/json"
    },
    "body": {
        "RemediationSteps": "[\r\n  \"1. Enforce the use of strong passwords\",\r\n  \"2. Add the source IP to NSG block list for 24 hours\",\r\n  \"3. Create an allow list for RDP access in NSG\"\r\n]"
    }
}
Run Code Online (Sandbox Code Playgroud)

我的映射(在设计器中):

replace(triggerBody()?['RemediationSteps'], '\r\n', ' ')
Run Code Online (Sandbox Code Playgroud)

但是,我的 JSON 文档中仍然有新行。

azure securitycenter azure-logic-apps

4
推荐指数
2
解决办法
5157
查看次数

使用自定义(asp.net)表单的NTLM身份验证

是否可以使用NTLM以编程方式验证用户(在asp.net上)?

我希望控制网站的外观和感觉,我会在其中输入用户输入用户名/密码的表单.然后,我会查询NTLM以验证提供的信息,如果有效,则将它们重定向到虚拟目录?

asp.net forms-authentication ldap

3
推荐指数
1
解决办法
3594
查看次数

一瞥安全

我确信我想将Glimpse用于我的项目,但我想更多地了解安全模型.

据我所知,当你打开Glimpse时,它只是将一组cookie写入客户端.当Glimpse收到这些cookie时,Glimpse开始记录请求的信息,然后将其发送给客户端.

好像我可以为我知道使用Glimpse的网站设置cookie,然后我就可以看到他们的信息了.

我非常怀疑这是如何工作的,所以我想知道有哪些功能可以防止暴露服务器信息.

asp.net-mvc glimpse

3
推荐指数
1
解决办法
1549
查看次数

经纪人与交易所之间的区别

我是RabbitMQ的新手,试图弄清经纪人和交易所之间的区别。

从我阅读的内容来看,这些术语似乎几乎可以互换使用,并且在图中,经纪人似乎同时涵盖了交易所和队列。

摘自《 RabbitMQ》一书:

交换是将消息发送到消息代理的AMQP实体。交换接收一条消息,然后将其路由到一个或多个队列

那么什么是经纪人?在RabbitMQ管理中,有一个选项卡用于“交易所”,但不适用于经纪人。我可以直接与经纪人互动,还是仅由交易所完成?

rabbitmq

3
推荐指数
1
解决办法
1609
查看次数

用C#编写的WebJob可以创建Azure数据库吗?

本周我一直在使用PowerShell为我们的部署创建一个新的Azure环境,最后一部分调用了用C#编写的WebJob来接受来自队列的消息并创建一个新数据库并根据需要创建结构.

我想知道这里有没有人这样做过,我发现.NET的天蓝色管理库有数据库创建的例子,但我坚持授权,因为这将从后端进程完成?

无论如何,我可以在Azure环境中创建一个信任,以允许我的WebJob连接Azure(尽管应用程序在同一个订阅中运行)并创建一个新的数据库?

这时我真的没有任何代码更像是想法,这就是为什么我要求帮助:)

我假设我会使用这样的东西进行身份验证?

var credentials = SdkContext.AzureCredentialsFactory.FromServicePrincipal(
            "clientid",
            "clientsecret",
            "tenantid",
            AzureEnvironment.AzureGlobalCloud);

        // Connect to Azure
        var azure = Azure.Authenticate(credentials).WithDefaultSubscription();
Run Code Online (Sandbox Code Playgroud)

我假设我可能需要在Azure本身做一些事情来信任WebJob以获得创建新Azure数据库的权限,但这是我不确定的部分.

从PowerShell我通过让PS启动Microsoft Live登录屏幕来完成身份验证,但这对于没有UI的WebJob来说是不实际的.

希望这是有道理的,有人可以为我阐明它吗?

c# database authentication azure azure-webjobs

2
推荐指数
1
解决办法
223
查看次数

检查 IEnumerable 是否仅包含一个元素的有效方法

我有一个IEnumerableStream. 蒸汽可能非常大(想想 GB)。

我需要知道序列是否只包含一个元素。检查 if.Count() == 1效率不高,因为它会通过读取完整的流来枚举整个列表。使用.Any没有用,因为我需要知道它是否只包含一个元素,而不是它包含任何元素。

可能的解决方案

.Take(2).ToList()然后进行计数是否是检查序列是否只包含一个元素的最有效方法?

c# linq ienumerable

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

在自动填充文本框上设置焦点()

我试图将光标设置在已设置为kendoAutoComplete的文本框上,但光标不显示.

使用Kendo的AutoComplete基本演示我在Chrome Developer控制台中运行以下代码,但光标未显示.

$('#countries').focus()
Run Code Online (Sandbox Code Playgroud)

当代码运行时,我确实看到输入框周围的跨度确实得到了"k-state-focused"类,它将边框颜色更改为灰色,但就是这样.

据我所知,'k-state-focused'css类不会隐藏光标.所以不确定Kendo是否以某种方式拦截了JavaScript中的焦点并且没有设置它,或者因为文本框周围有一个跨度,焦点就被隐藏了.

autocomplete kendo-ui kendo-autocomplete

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

调整圆形大小时获取半径

在调整圆的大小时,是否可以获得现有圆的半径?

Google地图没有"调整大小"事件,只会radius_changed在用户停止调整大小后触发事件.

我想我可以设置一个间隔并在调整圆圈时获得半径,但是.getRadius()在用户停止调整大小之前不会显示当前半径.

javascript google-maps google-maps-api-3

0
推荐指数
1
解决办法
1404
查看次数