Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Каталог асп-приложения в ClassLibrary, My.Application.Info.DirectoryPath 
:(
    Опции темы
Pankon
Дата 5.9.2006, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 739
Регистрация: 2.6.2005

Репутация: 2
Всего: 5



Есть ClassLibrary в которой My.Application.Info.DirectoryPath для вин-приложений дает прекрасно каталог приложения.

Тепер использую эту длл в асп.нет приложении, My.Application.Info.DirectoryPath возвращает
C:\WINNT\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET

Вопрос, как получать Каталог асп-приложения в ClassLibrary?


Это сообщение отредактировал(а) Pankon - 5.9.2006, 14:13
PM MAIL   Вверх
mr.DUDA
Дата 5.9.2006, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 5
Всего: 232



Цитата(Pankon @  5.9.2006,  14:10 Найти цитируемый пост)
Вопрос, как получать Каталог асп-приложения в ClassLibrary?

Видимо, так:

Код
Server.MapPath("/");



--------------------
user posted image
PM MAIL WWW   Вверх
Pankon
Дата 5.9.2006, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 739
Регистрация: 2.6.2005

Репутация: 2
Всего: 5



А будет ли это работать для вин-приложениы smile

Я использую одну длл для всех приложений (вин & асп)?
PM MAIL   Вверх
mr.DUDA
Дата 6.9.2006, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 5
Всего: 232



Для win-приложений лучше брать Application.StartupPath.

ASP.NET компилирует страницы в длл, и помещает их (и все зависимые длл) в свой кэш, откуда и загружает в реальное приложение - поэтому и получается такой My.Application.Info.DirectoryPath.



--------------------
user posted image
PM MAIL WWW   Вверх
Pankon
Дата 6.9.2006, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 739
Регистрация: 2.6.2005

Репутация: 2
Всего: 5



Тогда назрел вопрос - 
Как метод (в одном из классов длл), вызванный из вин или асп приложения, может "понять", что он вызван из вин-приложния, ну и соответственно, из асп-прилижения.

Это сообщение отредактировал(а) Pankon - 6.9.2006, 12:58
PM MAIL   Вверх
arilou
Дата 6.9.2006, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 6
Всего: 61



Pankon, такие вещи надо делать немного по другому. Твоя class library должна получать эту инфу через интерфейс, а ее конкретный потребитель должен подставлять ей конкретную реализацию этого интерфейса. 

Например, ClassLibrary:

Код

public interface IMyLocalPathSupplier
{
   string LocalPath { get; }
}

public class LocalPathSupplier
{
  public static Instance
 {
    get{//..}; set {//..}
 }
}


в своем приложении реализуешь IMyLocalPathSupplier, и подсовываешь инстанс в LocalPathSupplier.Instance.

Код

using System.Web;

class WebLocalPathSupploer : IMyLocalPathSupplier
{
  public LocalPath { get { return HttpContext.Current.Server.MapPath("/"); } }
}


Типа такого...


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
mr.DUDA
Дата 8.9.2006, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 5
Всего: 232



Ага, тогда для winforms-приложения будет одна длл, а для ASP.NET - другая, чем проблема собственно и решается.


--------------------
user posted image
PM MAIL WWW   Вверх
Pankon
Дата 9.9.2006, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 739
Регистрация: 2.6.2005

Репутация: 2
Всего: 5



Цитата(mr.DUDA @  8.9.2006,  22:17 Найти цитируемый пост)
winforms-приложения будет одна длл, а для ASP.NET - другая,
 - должна быть одна ....

PM MAIL   Вверх
arilou
Дата 14.9.2006, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 6
Всего: 61



Цитата(Pankon @  9.9.2006,  12:07 Найти цитируемый пост)
 должна быть одна ....

Почему "должна"? 

Иначе зашиваешь все в своей единственной ДЛЛ. Главное, чтобы были интерфейсы и классы их реализующие, как я написал.


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0747 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.