C# 使用FileStream创建文件将返回InvalidOperationException
它返回C# 使用FileStream创建文件将返回InvalidOperationException,c#,serialization,filestream,C#,Serialization,Filestream,它返回异常,具体在第12行 public void saveToXML() { URL newURL = new URL(); newURL.type = type; newURL.name = name; newURL.info = info; newURL.url = url; newURL.isProtected = isProtected; newURL.amo
异常
,具体在第12行
public void saveToXML()
{
URL newURL = new URL();
newURL.type = type;
newURL.name = name;
newURL.info = info;
newURL.url = url;
newURL.isProtected = isProtected;
newURL.amountOfClicks = amountOfClicks;
XmlSerializer xml = new XmlSerializer(typeof(URL));
string directory = @"C:\Users\PC-User\Documents\Link" + newURL.name + ".xml";
using (var file = File.Create(directory))
{
xml.Serialize(file, url);
}
}
如有需要,在异常消息中提供更多详细信息:
不应在UI线程上执行同步操作。考虑在任务.Run.中包装此方法
谢谢 考虑一下这样的事情吧:
public async Task saveToXml(){
string directory = @"C:\Users\PC-User\Documents\Link" + newURL.name + ".xml";
await Task.Run(()=>
{
Task.Yield();
using (var file = File.Create(directory))
{
xml.Serialize(file, url);
}
});
}
如果有错误日志,您应该发布它