C# 服务器不允许我读取文件流

C# 服务器不允许我读取文件流,c#,sql-server,filestream,C#,Sql Server,Filestream,几天来我一直在试图找出这个错误,但我仍然不明白发生了什么 public async Task<int> UploadToDatabase_Data(VideoPresenterFile file, DatabaseConnectionObject connObj) { SqlConnectionStringBuilder WriteData_Builder = new SqlConnectionStringBuilder(); WriteDat

几天来我一直在试图找出这个错误,但我仍然不明白发生了什么

public async Task<int> UploadToDatabase_Data(VideoPresenterFile file, DatabaseConnectionObject connObj)
    {
        SqlConnectionStringBuilder WriteData_Builder = new SqlConnectionStringBuilder();
        WriteData_Builder.InitialCatalog = connObj.Database;
        WriteData_Builder.IntegratedSecurity = connObj.isIntegratedSecurityEnabled;
        WriteData_Builder.DataSource = connObj.IP;
        WriteData_Builder.AsynchronousProcessing = connObj.isAsyncEnabled;

        using (TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
        {
            using (SqlConnection WriteData_Connection = new SqlConnection(WriteData_Builder.ToString()))
            {
                await WriteData_Connection.OpenAsync().ConfigureAwait(false);

                SqlCommand WriteData_Command = new SqlCommand();
                WriteData_Command.Connection = WriteData_Connection;
                WriteData_Command.CommandText = "SELECT Video.PathName(), GET_FILESTREAM_TRANSACTION_CONTEXT() FROM VideoLibrary.dbo.Library WHERE Name = 'temp'";
                //WriteData_Command.Parameters.Add("@NAME", SqlDbType.VarChar).Value = file.Name;

                SqlTransaction WriteData_Transaction = WriteData_Connection.BeginTransaction("UploadDataTransaction");
                WriteData_Command.Transaction = WriteData_Transaction;

                using (SqlDataReader WriteData_TransactionReader = WriteData_Command.ExecuteReader())
                {
                    await WriteData_TransactionReader.ReadAsync();
                    string WriteData_SqlPath = WriteData_TransactionReader.GetString(0);
                    byte[] WriteData_TransactionContext = WriteData_TransactionReader.GetSqlBytes(1).Value;

                    using (SqlFileStream WriteData_FileStream = new SqlFileStream(WriteData_SqlPath, WriteData_TransactionContext, FileAccess.Write))
                    {
                        int count = 20 * 1024 * 1024, offset = 0;
                        byte[] buffer = new byte[count];

                        FileInfo file_FileInfo = new FileInfo(file.Path);
                        FileStream file_FileStream = new FileStream(file_FileInfo.FullName, FileMode.Open, FileAccess.Read);

                        do
                        {
                            await file_FileStream.ReadAsync(buffer, offset, count);
                            await WriteData_FileStream.WriteAsync(buffer, offset, count);
                            offset += count;

                        } while (offset <= file_FileInfo.Length);
                    }
                }
            }
        }
然后错误来了

错误:mscorlib.dll中发生“System.ComponentModel.Win32Exception”类型的异常,但未在用户代码中处理 其他信息:用户名或密码不正确 如果存在此异常的处理程序,则程序可以安全地继续

我可以添加一行,插入每一个必要的细节。当我添加一整行时,我不使用TransactionScope和TransactionContext,但当我尝试读取或写入特定于文件流的内容时,我使用的是范围和上下文,它会抛出该错误

我所尝试的:

我尝试重新创建表和整个数据库

我尝试重新安装SQL Server Express

我尝试在Windows中添加功能,特别是Internet信息服务->万维网 服务->安全->Windows身份验证/基本身份验证

我试图操纵我正在使用的用户的权限,但它是一个dbo,所以应该没有问题

我尝试用相同的Microsoft帐户在不同的计算机上运行相同的代码*


我知道FileStream只与Windows身份验证一起工作,我使用的是Windows 8,因此所有内容都是相同的,或者至少在帐户方面应该是相同的

什么用户在IIS中运行应用程序池?为什么是ISS,我没有创建服务,所以我没有安装ISS的必要
using (SqlFileStream WriteData_FileStream = new SqlFileStream(WriteData_SqlPath, WriteData_TransactionContext, FileAccess.Write))