두 가지 형식의 응용 프로그램이 있습니다.C# 응용 프로그램 끝에서 응용 프로그램 끝까지 파일 잠그는 방법
첫 번째 양식 (MainMenu)에서 특정 파일을 잠그기 위해 FileStream을 선언하고 초기화합니다. 두 번째 형식 (EdiMenu)에서는 다른 FileStream을 선언합니다.
사용자가 버튼을 클릭하면 FileStream 및 파일 잠금이 형식 2의 FileStream에 주어져야하며 첫 번째 양식이 닫힙니다. I는 I 문자열 또는 FileStream을 통과하여 XDocument 경우 아무리으로 파일을 읽을 때, 상기 제 wan't 형태에서
public partial class MainMenu : Form
{
EdiMenu Edi_Menu; // Second form
private string applicationConfigurationFile = "configuration.xml";
private FileStream configurationFile;
private void mainMenu_Load(object sender, EventArgs e)
{
configurationFile = new FileStream(applicationConfigurationFile, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);
configurationFile.Lock(1, configurationFile.Length);
}
private void LoadEdiForm_Click(object sender, EventArgs e)
{
XDocument xdoc = XDocument.Load(applicationConfigurationFile); // Throws an exception
XDocument xdoc = XDocument.Load(configurationFile); // Works
// Code to check the file content
Edi_Menu = new EdiMenu();
Edi_Menu.configurationFilePublic = configurationFile;
Edi_Menu.Show();
this.Close(); // First form terminates here and the second form remains
}
}
// Second Class/Form
public partial class EdiMenu : Form
{
private string applicationConfigurationFile = "configuration.xml";
private FileStream configurationFile;
public FileStream configurationFilePublic
{
get { return configurationFile; }
set { configurationFile = value; }
}
private void FillDatagrid()
{
XDocument xdoc = XDocument.Load(applicationConfigurationFile); // Throws an exception
XDocument xdoc = XDocument.Load(configurationFile); // Throws an exception
}
}
는 예외가 발생.
다른 사람이 파일을 응용 프로그램 끝에서 응용 프로그램 끝으로 잠그는 방법과 파일을 다른 프로세스에서 잠그지 않고 응용 프로그램의 모든 곳에서 잠긴 파일을 사용하는 방법을 알려줄 수 있습니까?
무엇이 예외입니까? –
파일이 다른 프로세스에서 사용 중이라는 예외가 발생했습니다. –