System.Web.UI не дает мне MapPath - PullRequest
       17

System.Web.UI не дает мне MapPath

0 голосов
/ 15 февраля 2010

Я работаю над классом mailSender. Я не могу использовать метод Server.MapPath из пространства имен System.Web.UI. Какую ссылку я должен установить, чтобы сделать эту работу? Я ссылался на System / System.Web / System.Web.UI.

Это - это проверенный мсдн.

Ответы [ 3 ]

1 голос
/ 15 февраля 2010

Пожалуйста, прочитайте ответ TaylorMichaelL на этой странице: Имя 'Сервер' не существует в текущем контексте . Это должно помочь вам.

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

1 голос
/ 15 февраля 2010

Для людей, которые столкнутся с этой проблемой, я отвечу на свой вопрос, чтобы им не приходилось переходить по ссылкам на другие сайты. Если вы хотите использовать Server.Mappath, вы не сможете сделать это при использовании DAL или BL. Вы можете получить доступ к этим объектам (при условии, что они доступны в то время, когда они являются контекстными), используя свойство HttpContext.Current. Это свойство дает вам текущий контекст. Однако вы сейчас пробуете свой DAL / BL в ASP.NET. Итак, что вы можете сделать, чтобы решить эту проблему, так это получить Server.Mappath в месте, где он контекстуален, как в вашем коде.

GL!

0 голосов
/ 15 февраля 2010

Server.MapPath находится в пространстве имен System.Web:

http://msdn.microsoft.com/en-us/library/system.web.httpserverutility.mappath.aspx

...