下面是我试图遵循的架构:
<?xml version="1.0"?>
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">
<channel>
<title>The name of your data feed</title>
<link>http://www.example.com</link>
<description>A description of your content</description>
<item>
<title>Red wool sweater</title>
<link> http://www.example.com/item1-info-page.html</link>
<description>Comfortable and soft ... cold winter nights.</description>
<g:image_link>http://www.example.com/image1.jpg</g:image_link>
<g:price>25</g:price>
<g:condition>new</g:condition>
<g:id>1a</g:id>
</item>
</channel>
</rss>
Run Code Online (Sandbox Code Playgroud)
以下是我能够制作的:
<?xml version="1.0"?>
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">
<channel>
<title>The name of your data feed</title>
<link>http://www.google.com</link>
<description>A description of your content</description>
<item>
<title>Red Wool Sweater</title>
<link>http://www.google.com/Red-Wool-Sweater</link>
<description>Comfortable and soft, this sweater will keep you warm on those cold winter nights.</description>
<g:image_link>http://www.example.com/image1.jpg</g:image_link>
<g:price>25</g:price>
<g:condition>new</g:condition> …Run Code Online (Sandbox Code Playgroud) 短版本 如何处理嵌入到其他窗口/用户/自定义控件中的UserControl中的静态资源查找?因此,Blend 4可以正确地呈现它@设计时Visual Studio已经为您做的事情.
长版本 正如问题所示,我们有一个窗口,其中包含一些嵌入式用户控件,窗口以及每个嵌入式用户控件都使用静态资源标记扩展来解析对app.xaml文件中合并字典中找到的资源的引用.
当单独打开时,Blend在加载和渲染我在VS Designer Surface中创建的任何示例用户控件时都没有问题.解决我无处不在的无数静态资源标记扩展没有问题.
每当我尝试打开我的'MainWindow.xml'时,(一个窗口控件)我注意到我得到4 - 无法使用Blend 4 创建类型错误实例,很好地告诉我ArtBoard它已经捕获了一些设计时异常.通过将VS调试器实例附加到Blend进一步深入研究这些异常我注意到我引用的每一个静态资源,它抱怨它无法找到它.
作为比较,我查看了我创建的自定义控件,它根本不使用任何静态资源,而是使用本地资源.嵌入到我注意到的UserControl中的这个自定义控件非常好用.我觉得很明显为什么!
在SO上有任何人,有任何想法如何解决这个问题?我尝试了整个'添加设计时字典'< - 部分工作,嵌入式用户控件仍然根本没有创建!
研究
更新:可能的解决方案:
这些解决方案都不是很漂亮.=(
我需要有人来解释以下名字;
我目前正在考虑我的70-536考试,到目前为止,我已经覆盖了我的所有基础.在第二次阅读时,线程章节和在线资源对我来说都很好.尽管如此,上面使用的名字对我来说绝对没有意义?我真的很感激"异步"一词背后的含义及其与代表,方法和事件的相关性.
随意加入您喜欢的细节.
比方说,我有以下类型:
public class Site
{
public string Name { get; set; }
public int SiteId { get; set; }
public bool IsLocal { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
可以将上述类型分配为在ViewModel中的Propety中保存,如果假定已创建相应的后备字段但在此处省略了ofc:
public Site SelectedSite
{
get { return _selectedSite; }
set
{
_selectedSite = value;
// raise property changed etc
}
}
Run Code Online (Sandbox Code Playgroud)
在我的xaml中,直接绑定将是:
<TextBlock x:Name="StatusMessageTextBlock"
Width="Auto"
Height="Auto"
Style="{StaticResource StatusMessageboxTextStyle}"
Text="{Binding MessageToDisplay,
Mode=OneWay,
UpdateSourceTrigger=PropertyChanged}" />
Run Code Online (Sandbox Code Playgroud)
您可以使用点表示法语法扩展绑定吗?例如:
<TextBlock x:Name="StatusMessageTextBlock"
Width="Auto"
Height="Auto"
Style="{StaticResource StatusMessageboxTextStyle}"
**Text="{Binding SelectedSite.Name,**
Mode=OneWay,
UpdateSourceTrigger=PropertyChanged}" />
Run Code Online (Sandbox Code Playgroud)
看起来像一个有趣的功能,但我的直觉是不,因为我的DC在RunTime分配,所以在DesignTime或CompileTime,我看不到任何可以使这个功能工作的线索?
纠正我,如果误解了复杂的物体是什么,为了这个问题我已经简化了我的想法.
我一直在努力使用restsharp下载在线托管的简单pdf。我已经使用了一个多小时的代码,而我得到的只是空对象结果。
使用GET可以轻松地在POSTMAN中下载文件,而无需设置内容标头,但是还能提供什么呢?
以下是我一直在尝试的点头沙盒测试:
[TestFixture]
public class Sandbox
{
[Test]
public void Test()
{
var uri = "https://www.nlm.nih.gov/mesh/2018/download/2018NewMeShHeadings.pdf";
var client = new RestClient();
var request = new RestRequest(uri, Method.GET);
//request.AddHeader("Content-Type", "application/octet-stream");
byte[] response = client.DownloadData(request);
File.WriteAllBytes(@"C:\temp\1.pdf", response);
}
}
Run Code Online (Sandbox Code Playgroud)
更新:返回流
var baseUri = "https://www.nlm.nih.gov/mesh/2018/download/";
var client = new RestClient(baseUri);
var request = new RestRequest("2018NewMeShHeadings.pdf", Method.GET);
request.AddHeader("Content-Type", "application/octet-stream");
var tempFile = Path.GetTempFileName();
var stream = File.Create(tempFile, 1024, FileOptions.DeleteOnClose);
request.ResponseWriter = responseStream => responseStream.CopyTo(stream);
var response = client.DownloadData(request);
Run Code Online (Sandbox Code Playgroud)
现在,将使用下载的数据填充流。
我现在一直在寻找有关此问题的明确答案,包括github,但仍然看不到我在这里缺少的内容:
无法从根提供者解析作用域服务' Microsoft.EntityFrameworkCore.DbContextOptions`1 [PureGateway.Data.GatewayContext] '。
在Startup.cs中:
public void ConfigureServices(IServiceCollection services)
{
//other code omitted for brevity
var connection = Configuration.GetConnectionString("DefaultConnection");
services.AddDbContext<GatewayContext>(options => options.UseSqlServer(connection));
services.AddDbContextPool<GatewayContext>(options => options.UseSqlServer(connection));
services.AddScoped<IGatewayRepository, GatewayRepository>();
}
Run Code Online (Sandbox Code Playgroud)
用法:
public sealed class MatchBrokerRouteMiddleware
{
private readonly RequestDelegate _next;
private readonly ILogger<MatchBrokerRouteMiddleware> _logger;
public MatchBrokerRouteMiddleware(
RequestDelegate next,
ILoggerFactory loggerFactory)
{
_next = next;
_logger = loggerFactory.CreateLogger<MatchBrokerRouteMiddleware>();
}
public async Task Invoke(HttpContext context, GatewayContext gatewayContext)
{
await _next(context);
}
Run Code Online (Sandbox Code Playgroud)
我正在使用netcore 2.2。
c# dependency-injection middleware entity-framework-core asp.net-core
我知道以下引用:
原因是lambda表达式可以转换为委托类型或表达式树 - 但它必须知道哪个委托类型.只知道签名是不够的.
麻烦的是我仍然坚持如何解决我的问题.
有人能说出以下是否可能?
bool isStaff = () => { return selectedPerson.PersonType == "Staff"; };
Run Code Online (Sandbox Code Playgroud)
错误:
无法将lambda表达式转换为类型'bool',因为它不是委托类型
我理解错误,但我真的想知道如何解决这个问题,因为我已多次反复出现这个错误,并且就价值分配而言,根本没有学会如何正确使用lamda表达式.
谢谢快速回复fellas:
国际海事组织,以下是可能的:
bool isStaff = (selectedPerson, bool) => { return selectedPerson.PersonType == "Staff"; };
Run Code Online (Sandbox Code Playgroud)
大声笑,我认为这不行,但在行代码中很漂亮,对我来说看起来很棒,我期待的.下面的答案似乎暗示否则哈哈!
我有以下接口声明:
public interface IBasePresenter
{
void Run();
void ShowDialog<T, M>(T t, M m ) where T : UserControl where M : Form, ISomeInterface<SomeType>;
}
Run Code Online (Sandbox Code Playgroud)
ShowDialog()基本上是一个向用户显示模式对话框的方法.其中'T'是父Form,M是要显示的唯一对话框.M有多种不同的类型!因此选择通用方法的原因!
我认为可以使用这种方法的几种方法:
Presenter.ShowDialog(this, typeof(Form1)); // FigA
Run Code Online (Sandbox Code Playgroud)
要么
Presenter.ShowDialog(this, new Form1()); // FigB
Run Code Online (Sandbox Code Playgroud)
基于图A或B,示例ShowDialog()方法实现到底是什么样的?
我的问题源于试图计算如何在ShowDialog()方法实现中实例化泛型参数"M".
我有一个简单的场景,但我想知道我的方法是否正确,是否更好地建议选择单个任务来保存我的失败订单,或者我可以启动并启动多个任务并等待它们全部完成.在连接到Db和保存实体时,此方案的正确方法是什么.
我已经有一个基于任务的单一版本,可以将一个实体保存到数据库中.
public async static Task SaveOrdersAsync(OrderService oService, OrderItemService oiService, IEnumerable<OrderTemplate> toSaveList, IUnitOfWork uow, IProgress<string> progress)
{
var toSave = toSaveList as IList<OrderTemplate> ?? toSaveList.ToList();
var tasks = new Task[toSave.Count()];
for (var i = 0; i < tasks.Length; i++)
{
var i1 = i;
tasks[i] = new Task(() => SaveToDb(oService, oiService, toSave.ElementAt(i1), uow), TaskCreationOptions.PreferFairness);
var message = string.Format("- Order: {0} has been resaved.\n", toSave.ElementAt(i1).Order.FriendlyId);
if (progress != null)
progress.Report(message);
}
await Task.WhenAll(tasks);
}
Run Code Online (Sandbox Code Playgroud)
目前,我已对上述内容进行了测试,并认为任务尚未开始,因为进度条不断循环.我的假设是Task.WhenAll应该为我开始我的任务 - 这就是我的想法?
或者应该在循环中使用它:
tasks[i] = Task.Run(() …Run Code Online (Sandbox Code Playgroud) 下面是我试图遵循的XML模式:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com/</loc>
<lastmod>2005-01-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
Run Code Online (Sandbox Code Playgroud)
以下是我设法制作的内容:
<?xml version="1.0" encoding="utf-8"?>
<urlset>
<url>
<loc>http://www.ign.com</loc>
<lastmod>2005-01-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,有一个主要区别,我似乎无法重新创建'urlset'元素的属性字符串.
以下是我使用的代码:
// Create the settings object that will define the settings that our writer will use.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Encoding = Encoding.UTF8;
settings.Indent = true;
settings.OmitXmlDeclaration = false;
// create the XML writer object.
XmlWriter xmlW = XmlWriter.Create("SiteMap.xml", settings);
// write the start header for the XML document.
xmlW.WriteStartDocument();
xmlW.WriteStartElement("urlset");
xmlW.WriteStartElement("url");
xmlW.WriteElementString("loc", …Run Code Online (Sandbox Code Playgroud) 我一直在关注一些在线示例,由于某种原因,我无法成功反序列化以下XML文档:
<?xml version="1.0" encoding="UTF-8"?>
<result>
<postcode>BD1 1LT</postcode>
<geo>
<lat>53.793063240118215</lat>
<lng>-1.7540318423563699</lng>
<easting>416300.0</easting>
<northing>433000.0</northing>
<geohash>http://geohash.org/gcwf00dz21g1</geohash>
</geo>
<administrative>
<council>
<title>Bradford</title>
<uri>http://statistics.data.gov.uk/id/statistical-geography/E08000032</uri>
<code>E08000032</code>
</council>
<ward>
<title>City</title>
<uri>http://statistics.data.gov.uk/id/statistical-geography/E05001347</uri>
<code>E05001347</code>
</ward>
<constituency>
<title>Bradford West</title>
<uri>http://statistics.data.gov.uk/id/statistical-geography/E14000589</uri>
<code>E14000589</code>
</constituency>
</administrative>
</result>
Run Code Online (Sandbox Code Playgroud)
我尝试过各种组合:
[DataContract(Name = "result", Namespace = "")]
public class Result
{
[DataMember(Name = "postcode")]
public string Postcode { get; set; }
[DataMember(Name = "geo")]
public Geo Geo { get; set; }
}
[DataContract(Name = "geo")]
public class Geo
{
[DataMember(Name = "lat")]
public string Lat { get; …Run Code Online (Sandbox Code Playgroud) 我想将我当前使用的设置文件迁移到appconfig文件.目前我正在尝试复制它,但到目前为止,我甚至无法使用Config'Manager对文件进行写入.
我需要做的是首先创建文件,然后写入它,最后它已经存在,更新它!看起来很简单,但到目前为止,它在每一个转折点都是我.到目前为止我提到的所有材料都存在.甚至MS MCTS参考书也有一个配置文件已经为例子做了.
是否有编程方式创建它,然后写入应用程序的默认bin文件夹,假设您有足够的权限.
这些例子让这看起来很简单,但是当你看到有问题的文件上的时间戳时...... 抓住他的头......帽子掉了!
我的意思是他们是不同类型的配置文件?我知道web.config和app.config但人们真的偏离了这个简单的命名模板???
谢谢你的回复.Ibrar
我记得在我的官方MS 70-536考试中看到一个问题,该问题谈到了一个简单的类,它被设计为暴露给COM调用客户等等,我选择答案的类中定义的所有成员D.使用的那个通用的.
我的问题是你们:
如果您正在设计一个最终由COM调用者或COM类型使用的.Net自定义类型...我已阅读过有关此主题的所有指南,那么泛型就是我不会包含在内的.Net主题为此目的,我会省略这样的数据成员或使用别的东西?
我是否正确地思考这个问题.我一见到这个问题就知道这是仿制药,但我似乎无法证明这一点.当然我没有这样做...泛型是一个.net功能对吗?
c# ×11
.net ×5
xml ×3
.net-3.5 ×2
c#-4.0 ×2
generics ×2
wpf ×2
.net-4.5 ×1
asp.net-core ×1
async-await ×1
asynchronous ×1
complextype ×1
constraints ×1
data-binding ×1
download ×1
interface ×1
lambda ×1
middleware ×1
mvvm ×1
pdf ×1
restsharp ×1
rss ×1
winforms ×1