我试过了:
textBox1.Text = new XDocument(new XDeclaration("1.0", "UTF-8", "yes"),
new XElement("root1", new XAttribute( "xmlns", @"http://example.com"), new XElement("a", "b"))
).ToString();
Run Code Online (Sandbox Code Playgroud)
但我得到:
The prefix '' cannot be redefined from '' to 'http://example.com' within the same start element tag.
Run Code Online (Sandbox Code Playgroud)
我也试过替换(根据我发现的答案):
XAttribute(XNamespace.Xmlns,...
Run Code Online (Sandbox Code Playgroud)
但也有错误.
注意:我不是要在文档中使用多个xmlns.
与使用端口80有关的许多问题都有答案说有许多程序将它用作默认端口.这篇文章提到了一些:Skype,IIS,Apache ......
由于一次只能有一个应用程序可以侦听任何一个端口 - 这怎么可能?如果答案是那只是他们的默认端口 - 应用程序如何知道它必须将信息发送到不同的端口?例如 - 如果iis将在端口81上收听,因为Skype正在监听80 - 请求网页的任何人都知道如何将请求发送到theip:81而不是theip:80?
我的目标是在任何硬编码端口由于某些应用程序已经在其上监听而导致失败时,有一种在程序之间建立连接的强大方法.端口只需要使用一次,以便传达将在会话的其余部分使用的动态端口.这对于网络连接和在同一台计算机上连接多个应用程序都是一个问题.
注册IANA并非总是可行,甚至不一定能解决问题 - 有人可能仍在监听注册端口.显然,"没有碰撞的希望"的解决方案 - 只是没有削减它.
(我知道连接有两个套接字(和一个协议),因此一个套接字可以有多个连接.我的问题是关于监听套接字以建立连接.)
我期望的是,在操作系统(Windows)上存在一些我可以注册我的应用程序的服务,并接收带有一些签名的所有传入流量 - 即使它只是一些魔术字符串.或者也许是一些多个应用程序可以同时监听的端口- 并且所有端口都会收到每个传入的消息 但到目前为止我还没有找到类似的东西.
我已Enable Win32 Long Paths在本地组策略编辑器中设置Enabled并重新启动计算机.
这是代码:
string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
for (int i = 0; i < 10; i++)
path += "\\" + new string('z', 200);
Directory.CreateDirectory(path);
Run Code Online (Sandbox Code Playgroud)
我收到错误:
System.IO.DirectoryNotFoundException:'无法找到路径的一部分'C:\ Users ...\Desktop\zzzzzzzzzz ...
(这实际上是一个奇怪的错误信息.)
app.config已经有:
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
Run Code Online (Sandbox Code Playgroud)
更多信息(可能不重要)
我尝试在app.config下的这篇文章和其他地方提到添加(虽然在使用.net 4.7时不需要注释中指出)configuration:
<runtime>
<AppContextSwitchOverrides value="Switch.System.IO.UseLegacyPathHandling=false;Switch.System.IO.BlockLongPaths=false" />
</runtime>
Run Code Online (Sandbox Code Playgroud)
还是一样的错误.
如果我只使用一个zzzzzz...它在桌面上创建它没有错误.
我正在使用VS2017,Windows 10.我尝试了Winforms和WPF.
我知道如何使用打开其他窗口TryShowAsStandaloneAsync.但是,如果原始窗口关闭 - TryShowAsStandaloneAsync失败(为什么?).我不知道如何"复活"它(原始窗口).
但"照片"似乎可以像桌面应用程序一样正常工作.它是如何做到的?(我想模仿那个.)可以打开一个带有图像的窗口,打开另一个窗口,关闭第一个窗口,然后仍然可以打开更多窗口.
任何方式都可以 - 没有主窗口显示的某种方式启动窗口,或者在关闭后重新启动主窗口的某种方式(为了使它成为必须打开的新窗口),或者其他方式.
我有一个编译的Linq2sql查询的以下代码来计算表中的行.尽管相同的未编译查询运行顺利,但查询仍会抛出异常:
public static Func<ServiceCustomContext, int> CompiledCount
= CompiledQuery.Compile((ServiceCustomContext db) => db.Current.Count());
public static int Count()
{
using (ServiceCustomContext db = new ServiceCustomContext(Constants.NewSqlConnection))
return CompiledCount(db);
}
Run Code Online (Sandbox Code Playgroud)
ServiceCustomContext继承自DataContext并且只有(除了构造函数)Table包括Current上面示例中使用的名称的表.
我得到以下异常:
'查询是针对与指定的DataContext关联的映射源而编译的.
这仅在使用如上所述的编译查询时.只要我有一个简单的:
return db.Current.Count();
Run Code Online (Sandbox Code Playgroud)
在Count()方法中,一切都很好.
我不明白什么是错的.我认为可能需要保留对DataContext(ServiceCustomContext)的引用,尽管这看起来很直观,但即使是微软的例子也不会这样做.我发现的唯一解释是,这里基本上是上面链接中的Microsoft示例中提到的编译查询是非常错误的.我怀疑这是真的.
我希望用户能够拖动一段Control时间来显示它.我似乎无法找到将其外观转换为图像的方法(为了将该图像转换为图标以便将其作为拖动图标).
根据我的阅读,启动HTML5页面的正确方法是:
<!DOCTYPE html>
<html>
Run Code Online (Sandbox Code Playgroud)
在这些方面没有更多.这是真的?(我问,因为Visual Studio有更多.)
(另外,我想知道HTML5是否真的是当前的标准,还是我应该使用XHTML5或其他版本.)
我想检测Control-AWindows应用程序中的组合键(例如).该KeyDown事件处理程序有关最后按下的键的信息.但是如何确定Control键是否也被按下了?
我想要的东西:
"aaaXaaaXaaaXaaaYXaaa".Split('X');
Run Code Online (Sandbox Code Playgroud)
但是希望它忽略'YX'.
当然,我可以简单地循环并纠正它.但是有没有内置的方法呢?
如何更改应用的显示标题?(像照片一样)
在Winforms中form1.Text = "new title";.
我们如何在UWP中做到这一点?
c# ×9
.net ×6
uwp ×2
xaml ×2
.net-4.6.2 ×1
.net-4.7 ×1
doctype ×1
html ×1
html5 ×1
linq-to-sql ×1
linq-to-xml ×1
sockets ×1
sql ×1
sql-server ×1
tcp ×1
udp ×1
winforms ×1
wpf ×1
xhtml ×1
xml ×1