AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.05.2010, 17:49   #1  
ZooY is offline
ZooY
Участник
Аватар для ZooY
 
377 / 46 (2) +++
Регистрация: 24.06.2008
Адрес: Россия, Москва
Angry Физический путь к файлу
Коллеги, подскажите...
Есть расширение для CRM 4.0, точнее сервис.
Файлик Service.asmx лежит в папке C:\Program Files\Microsoft Dynamics CRM\CRMWeb\ISV\MyService\
Библиотека от этого сервиса лежит в папке bin CRM.
В общем все разложено как рекомендует SDK.
Соответственно к сервису обращаюсь по адресу http://server:port/MyOrg/ISV/MyService/Service.asmx
В сервисе мне нужно обратиться к файлику, лежащему рядом с файлом Service.asmx, для этого нужно узнать его физический путь. А метод MapPath мне выдает адрес C:\Program Files\Microsoft Dynamics CRM\CRMWeb\MyOrg\ISV\MyService\ который некорректен, из за того, что перед ISV вставлено имя организации.
Проверил все доступные в Request пути и они все с именем организации.
Старый 11.05.2010, 18:26   #2  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Попробуйте на лету получить путь таким образом:

string path = (string)(Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\MSCRM").GetValue("WebSitePath")) + "\ISV\MyService\";
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 11.05.2010, 23:21   #3  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
А чем плох URL или относительный путь? В чем задача?
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 12.05.2010, 11:52   #4  
ZooY is offline
ZooY
Участник
Аватар для ZooY
 
377 / 46 (2) +++
Регистрация: 24.06.2008
Адрес: Россия, Москва
Цитата:
Сообщение от a33ik Посмотреть сообщение
Попробуйте на лету получить путь таким образом:

string path = (string)(Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\MSCRM").GetValue("WebSitePath")) + "\ISV\MyService\";
Да я почти также сделал, только без реестра:
X++:
path = Context.Request.PhysicalApplicationPath + "ISV\\MyService\\";
Но хардкодить пути, имхо, не очень здорово.

Пока выкрутился вот так:
X++:
path = Context.Request.MapPath("XSLTFile.xslt").Remove(Context.Request.PhysicalApplicationPath.Length, orgName.Length + 1);
Т.е. вырезаю имя организации (можно было бы и реплейсом, но у меня в пути имя организации еще раз встречается).

А делать так приходиться потому, что методу XmlReader.Create нужен физический путь, по виртуальному там с правами косяк.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ограничение в 218 символов на путь xls sergeyjb Dynamics CRM: Администрирование 2 10.10.2008 10:38

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 17:34.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.