Renjith Kalarikkal Ответов: 1

Сопоставленная папка не работает при публикации с IIS


Я создаю веб-приложение. Я должен показать одно вложение одним нажатием кнопки.Файл вложения находится на другом сервере, который находится в той же сети. когда я делаю кодирование, оно хорошо работает на моей машине разработки, но когда я развертываю его, оно не работает.

я развертываю приложение на сервере 192.168.a.xyz, а сопоставленная папка находится в 192.168.a.ijk.

я использовал приведенный ниже код, который хорошо работает в машине разработки, которая также находится в той же сети.

Я создаю веб-приложение. Я должен показать одно вложение одним нажатием кнопки.Файл вложения находится на другом сервере, который находится в той же сети. когда я делаю кодирование, оно хорошо работает на моей машине разработки, но когда я развертываю его, оно не работает.

я развертываю приложение на сервере 192.168.a.xyz, а сопоставленная папка находится в 192.168.a.ijk.

я использовал приведенный ниже код, который хорошо работает в машине разработки, которая также находится в той же сети.


Ценю, если кто-нибудь может помочь!

Что я уже пробовал:

public ActionResult GetCorporateInvoiceCopy(string attachId)
        {
            if (attachId.Length > 0)
            {
                try
                {
                    string FileExtension = ".pdf";
                    string csvPath = "";
                    string inv = attachId;
                    csvPath = @"\\192.168.a.ijk\\Attached_Files\" + Path.GetFileName(inv.ToString() + FileExtension );
                    return File(csvPath, FileExtension);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            else
            {
                return null;
            }
        }

[no name]

Учетные записи, обычно работающие под управлением IIS, не имеют доступа к сетевым ресурсам.

1 Ответов

Рейтинг:
0

Dave Kreskowiak

Он работает на вашей машине, потому что, когда вы пишете код и тестируете его на своей машине, он работает под вашей учетной записью. Поскольку у вас есть доступ к другому сетевому ресурсу, код работает.

Теперь при запуске кода на веб-сервере он работает по умолчанию ASP.NET счет. По умолчанию, и по очень хорошим соображениям безопасности, не имеет доступа к сетевому ресурсу, к которому вы пытаетесь добраться.

Вы должны создать урезанную учетную запись пользователя для запуска вашего сайта. Этой учетной записи также должны быть предоставлены соответствующие разрешения общего доступа и NTFS к сетевому ресурсу, к которому код пытается получить доступ. Затем вы меняете пул приложений, на котором работает ваш сайт, чтобы использовать эту учетную запись.

Надеюсь, у вас есть эти машины, работающие в Active Directory, чтобы сделать это немного проще в управлении? Если нет, то удачи.