我想这应该很容易,但是我得到了一堆方盒,而不是我需要的图标.
最初我在xaml中编写了一个菜单:
code omitted
<ListBoxItem Name="menuHome" >
<StackPanel Orientation="Horizontal">
<TextBlock FontFamily="Segoe MDL2 Assets" Text="" FontSize="16" VerticalAlignment="Center" />
<TextBlock Text="Home" FontSize="16" VerticalAlignment="Center" Padding="15,0,0,0"/>
</StackPanel>
</ListBoxItem>
code omitted
Run Code Online (Sandbox Code Playgroud)
我现在必须动态创建此菜单,所以我有以下内容:
ListBoxItem menuHome = new ListBoxItem();
StackPanel menuHomeStackPanel = new StackPanel() { Orientation = Orientation.Horizontal };
menuHomeStackPanel.Children.Add(new TextBlock() { FontFamily = new FontFamily("Segoe MDL2 Assets"), FontSize = 16, VerticalAlignment = VerticalAlignment.Center, Text = "" });
menuHomeStackPanel.Children.Add(new TextBlock() { FontSize = 16, VerticalAlignment = VerticalAlignment.Center, Text = "Home", Padding = new Thickness(15, 0, 0, 0) …Run Code Online (Sandbox Code Playgroud) 我一直在搜寻文档,我不认为这作为一个选项存在,但基本上我想强制函数调用的每个参数都在新行上。
例如我讨厌这个:
var result = GetResult(request, startDate, endDate, myTypes,
false, false, pageNumber);
Run Code Online (Sandbox Code Playgroud)
我更讨厌这个(每行不同数量的参数):
var result = GetResult(request, startDate, endDate, myTypes,
person, thing,
false, false, pageNumber, penny, job, situation, context);
Run Code Online (Sandbox Code Playgroud)
我希望有一个editorconfig条目可以将上述内容变为:
var result = GetResult(
request,
startDate,
endDate,
myTypes,
false,
false,
pageNumber);
Run Code Online (Sandbox Code Playgroud)
和
var result = GetResult(
request,
startDate,
endDate,
myTypes,
person,
thing,
false,
false,
pageNumber,
penny,
job,
situation,
context);
Run Code Online (Sandbox Code Playgroud)
理想情况下,我能够在强制执行上述操作之前指定最大参数数量,但这可能是一个白日梦,例如我希望 1 或 2 个,甚至 3 个参数保留在下面的一行上:
var result1 = GetResult(request);
var result2 = GetResult(request, startDate);
var result3 = …Run Code Online (Sandbox Code Playgroud) 我已经在 Azure 中设置了 PR 管道。作为该流程的一部分,我运行了许多回归测试。这些针对回归测试数据库运行 - 我们必须在测试开始时清除数据库,以便我们确定其中有哪些数据以及应该从中得出什么。
这一切都工作正常,直到管道并行运行多次 - 然后回归数据库被多次写入,并且从它返回的数据不是预期的。
我怎样才能停止并行运行的管道 - 我已经尝试过谷歌,但找不到我正在寻找的东西。
如果管道正在运行,则下一个构建应该等待(不是所有管道 - 我想将其设置在单个管道上),这可能吗?
只是在寻找一个解释 - 问题几乎解释了所有,但这里有点额外:
//this line works OK
int i = Convert.ToInt32(dt.Rows[x]["SmallintColumnName"]);
//this line errors out
int j = (int)dt.Rows[x]["SmallintColumnName"];
Run Code Online (Sandbox Code Playgroud)
我发现这很奇怪,但我想有一个有效的论据,说明为什么会这样.
谢谢.
编辑:您好@Damien_The_Unbeliever - 它是一个InvalidCastException - 指定的强制转换是无效的.我想我需要阅读拳击和拆箱.我认为两者都有效.现在我刚试过:
int k = (Int32)r_dtAttribute.Rows[x]["CultureId"];
Run Code Online (Sandbox Code Playgroud)
这也失败了同样的InvalidCastException - 所以任何人都可以告诉我它们之间的实际差异
//fails
int k = (Int32)r_dtAttribute.Rows[x]["CultureId"];
Run Code Online (Sandbox Code Playgroud)
和
//works
int i = Convert.ToInt32(dt.Rows[x]["SmallintColumnName"]);
Run Code Online (Sandbox Code Playgroud)
Convert.ToInt32函数做什么只是用(Int32)进行转换不行?
谢谢
使用MVC 5。
我是新来的Users,Identities和Claims。
我如何AspNetUser从那里得到HttpContext.Current.User?我知道,我可以使用HttpContext.Current.User.Identity.Name(这是用户的电子邮件地址,我的系统上),然后打AspNetUser表的用户,但有没有更好的办法让AspNetUser从HttpContext.Current.User我失踪?例如它HttpContext.Current.User已经包含在某个地方了吗?
我曾经尝试过使用Google,但并未真正找到该特定问题的任何答案。
谷歌上有很多这方面的资源,但我无法完全理解我的场景中需要做什么:
我有这门课:
public class CompanyLanguage : EntityBase
{
public int CompanyId { get; set; }
public int LanguageId { get; set; }
public bool IsDefault { get; set; }
public virtual Company Company { get; set; }
public virtual Language Language { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
Language定义为:
public class Language:EntityBase
{
[Required]
[DisplayName("Language Code")]
public string LanguageCode { get; set; }
[Required]
[MaxLength(2, ErrorMessage ="2 characters maximum")]
[DisplayName("2 Char Language Code")]
public string LanguageCode2Char { get; set; }
[Required] …Run Code Online (Sandbox Code Playgroud) 我正在尝试对调用 API 的函数进行单元测试。我已经使用如下模拟成功完成了此操作HttpMessageHandler,它允许我伪造来自 API 的响应:
private static Mock<HttpMessageHandler> GetMockHttpMessageHandler(string mockResponse)
{
var mockMessageHandler = new Mock<HttpMessageHandler>();
mockMessageHandler.Protected()
.Setup<Task<HttpResponseMessage>>("SendAsync", ItExpr.IsAny<HttpRequestMessage>(), ItExpr.IsAny<CancellationToken>())
.Returns(Task.FromResult(new HttpResponseMessage
{
StatusCode = HttpStatusCode.OK,
Content = new StringContent(mockResponse)
}));
return mockMessageHandler;
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切都很好。我已经能够测试一半的函数,后半部分进行另一个 api 调用 - 然后两个响应都被包装到系统使用的对象中。问题是,第二个 api 需要有不同的模拟响应。
我以为我可以将ItExpr.IsAny<HttpRequestMessage>()上面的代码更改为new HttpRequestMessage(HttpMethod.Post, "http://LiveUrl.com/AuthenticateUserCredential"),然后Setup/Returns根据 URI 更改响应,但我尝试如下(只有一个Setup/Return要测试,我没有破坏前半部分测试)
private static Mock<HttpMessageHandler> GetMockHttpMessageHandler(string mockResponse)
{
var mockMessageHandler = new Mock<HttpMessageHandler>();
mockMessageHandler.Protected()
.Setup<Task<HttpResponseMessage>>("SendAsync", new HttpRequestMessage(HttpMethod.Post, "http://LiveUrl.com/AuthenticateUserCredential"), ItExpr.IsAny<CancellationToken>())
.Returns(Task.FromResult(new HttpResponseMessage
{
StatusCode = HttpStatusCode.OK,
Content …Run Code Online (Sandbox Code Playgroud) 我在这做错了什么?
我可以成功地将4个bool参数传递给控制器.现在我想将一个int数组传递给我的控制器,但是它不起作用 - 我在示例中留下了我的工作代码(注释掉了)所以你可以看到我没有改变那么多 - 我想我是错过了一些简单的东西(事后是17:44 !!!).我可以看到使用以下alert(rolesChecked);语句填充数组:
var rolesChecked = [];
$('[type="checkbox"].role-checkbox').each(function () {
if (this.checked)
{
rolesChecked.push($(this).val());
}
});
alert(rolesChecked);
//var administrator = $('#cbAdministrator').is(":checked");
//var manager = $('#cbManager').is(":checked");
//var technician = $('#cbTechnician').is(":checked");
//var transcriber = $('#cbTranscriber').is(":checked");
if (rolesChecked.count > 0){//administrator || manager || technician || transcriber) {
$.ajax({
url: '@Url.Action("GetFutureHolidays", "Employee")',
type: 'GET',
dataType: 'json',
// we set cache: false because GET requests are often cached by browsers
// IE is particularly aggressive in that respect
cache: …Run Code Online (Sandbox Code Playgroud) 我的目标是从Amazon Web Services存储桶下载图像.
我有以下代码功能,可以一次下载多个图像:
public static void DownloadFilesFromAWS(string bucketName, List<string> imageNames)
{
int batchSize = 50;
int maxDownloadMilliseconds = 10000;
List<Task> tasks = new List<Task>();
for (int i = 0; i < imageNames.Count; i++)
{
string imageName = imageNames[i];
Task task = Task.Run(() => GetFile(bucketName, imageName));
tasks.Add(task);
if (tasks.Count > 0 && tasks.Count % batchSize == 0)
{
Task.WaitAll(tasks.ToArray(), maxDownloadMilliseconds);//wait to download
tasks.Clear();
}
}
//if there are any left, wait for them
Task.WaitAll(tasks.ToArray(), maxDownloadMilliseconds);
}
private static void GetFile(string …Run Code Online (Sandbox Code Playgroud) 我有一个 .netcore Web 应用程序,在我的机器上运行良好。我想让它在 Docker 容器中运行。
我正在尝试设置 ASPNETCORE_ENVIRONMENT 环境变量,但在读取此变量的代码中,该值始终为 null。
const string environmentVariableName = "ASPNETCORE_ENVIRONMENT";
var environmentName = Environment.GetEnvironmentVariable(environmentVariableName);
if (string.IsNullOrEmpty(environmentName))
{
//I'm only doing this is I can be certain that the environment variable isn't being retrieved
environmentName = "Error: UNABLE TO DETERMINE THE VALUE OF ASPNETCORE_ENVIRONMENT";
}
Run Code Online (Sandbox Code Playgroud)
我在下面添加了各种版本的 dockerfile,这是我当前的尝试。我有一个默认参数被设置为环境变量:
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app
ARG ASPNETCORE_ENVIRONMENT="dev"
ENV ASPNETCORE_ENVIRONMENT=$ASPNETCORE_ENVIRONMENT
RUN echo $ASPNETCORE_ENVIRONMENT
# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore
# Copy …Run Code Online (Sandbox Code Playgroud) 假设我有数百个甚至数千个 GPS 坐标、纬度和经度,它们构成了一个国家/地区的边界。
我也有我目前的位置纬度和经度。
我如何确定(使用 C#,为 Windows10 UWP 编程)我的位置是否在某个国家/地区的边界内?
EG 假设我拥有构成下图中红线的所有点。如果我在 X 位置,我的函数将返回 true。如果我在 Y 位置,我的函数将返回 false。
使用 C# - WinForms
我有一个有效的 HTML 字符串,它可能包含也可能不包含各种 HTML 元素,例如<a>.
我需要搜索此 HTML 并突出显示某些关键字 - 突出显示是通过在<span>文本周围添加内联样式来完成的。我不应该对<a>标签或用户实际上不可见的任何其他 HTML 标签执行此操作。
例如目前我正在这样做:
html = html.Replace(phraseToCount, "<span style=\"background: #FF0000; color: #FFFFFF; font-weight: bold;\">" + phraseToCount + "</span>");
Run Code Online (Sandbox Code Playgroud)
这种方法可行,但会破坏<a>标签。因此,在下面的示例中,只有谷物一词的第一个实例应该以 ' 结尾<span>:
<p>To view more types of cereal click <a href="http://www.cereal.com">here</a>.</p>
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做呢?
编辑-更多信息。
这将在 Winforms 应用程序中运行,因为获取 HTML 的最佳方法是使用 WebBrowser 控件 - 我将抓取网页并突出显示各种单词。
此代码在Kentico网站中正常工作:
var users = UserInfoProvider.GetUsers();
for (int x = 0; x < users.Count(); x++
{
UserInfo currentUser = users.ElementAt(x);
currentUser.SetValue("AcceptsAlerts", equivalentSubscriber.Status != SubscriberStatus.Unsubscribed);
UserInfoProvider.SetUserInfo(currentUser);
}
Run Code Online (Sandbox Code Playgroud)
当我将代码移动到控制台应用程序时,对UserInfoProvider的任何调用都会导致错误:"找不到对象类型'cms.usersettings'"
对于获取用户的初始调用,我可以在控制台应用程序中这样做:
DataSet usersds = new CMS.DataEngine.DataQuery("cms.user.selectall").Execute();
Run Code Online (Sandbox Code Playgroud)
然后使用用户数据遍历数据集的Table1:
UserInfo currentUser = new UserInfo(dtUsers.Rows[x]);
Run Code Online (Sandbox Code Playgroud)
一切都很好并且正常工作,直到我将更新的用户写回数据库.除了调用之外,我找不到另一种写入数据的方法:
UserInfoProvider.SetUserInfo(currentUser);
Run Code Online (Sandbox Code Playgroud)
有谁知道另一种保存用户数据的方法?或者解决错误.错误是运行时错误,据我所知,我已经引用了我需要的所有内容.我正在编辑的字段是添加到cmsUser表的自定义字段.
使用语句信息:
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using CMS;
using CMS.CustomTables;
using CMS.DataEngine;
using CMS.Membership;
Run Code Online (Sandbox Code Playgroud) c# ×9
asp.net-mvc ×3
ajax ×1
asp.net ×1
azure ×1
azure-devops ×1
casting ×1
docker ×1
editorconfig ×1
html ×1
httpclient ×1
javascript ×1
kentico ×1
moq ×1
task ×1
wpf ×1
xaml ×1