В Интернете так много похожих вопросов, но ни один из них не помог мне в этом.
У меня есть приложение asp.net на сервере внутренней сети компании. Он используется для доступа к базе данных на другом файловом сервере, который также содержит несколько изображений, относящихся к каждой записи в базе данных.
Я разработчик, но не сетевой человек. Я немного знаю об IIS, и с помощью диспетчера IIS я создал виртуальный каталог в папке приложения asp.net, который сопоставляется с адресом UNC на другом сервере, где находятся изображения. Используя IIS Manager, я могу исследовать виртуальный каталог и видеть все файлы там. Проблема в том, что они отображаются в моем приложении asp.net.
Я попытался установить разрешения для папки «Сетевая служба», IUSR_aspnetserver и мои собственные учетные данные; Я пробовал различные перестановки строки пути с / или // или \ или \ и т. Д. Я пытался подражать, но я не знаю, правильно ли я это делаю. Я разместил на странице ярлык «отладка», который указывает путь к изображению во время работы приложения, и это правильно. Кажется, ничего не работает.
Очевидно, что мне чего-то не хватает, но мое понимание сети приближается к нулю, мой опыт работы с IIS едва ли лучше, и я не могу заставить своих сотрудников ИТ-экспертов помочь. И прежде чем делать какие-то выводы, я отличная личность.
Любые идеи будут оценены.
Спасибо!
РЕДАКТИРОВАТЬ для @MohsinMehmood:
(надеюсь, это не слишком запутанно)
На странице есть сопоставленный диск в IIS для общего ресурса UNC \\OtherServer\AppName\Images
в папку с именем ReceiptImages.
Файл web.config содержит эту запись:
<appSettings>
<add key="ImageFilePath" value="ReceiptImages/"/>
</appSettings>
А в событии PageLoad у меня есть
ViewState("ImagesPath") = ConfigurationManager.AppSettings("ImageFilePath")
Чтобы создать строку глобального пути.
Тогда в коде (VB) это:
Dim btnReceiptThumbnailButton As New ImageButton
With btnReceiptThumbnailButton
.ID = "btn" & LineItem
.CssClass = "thumbnails"
.ImageAlign = ImageAlign.AbsMiddle
.Visible = True
.BackColor = Drawing.Color.White
.BorderColor = Drawing.Color.Black
.BorderWidth = 1
.ImageUrl = ViewState("ImagesPath") & LineItem
.CommandName = "GetReceiptImage"
.CommandArgument = LineItem
End With
Я не знаю, было ли достаточно упомянуть, что изображение помещается в элемент управления кнопки, чтобы сделать его миниатюрой.