Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

1C-Битрикс и asp.net

00 голосов
8
Кто нибудь пытался запихнуть страничку с расширением aspx в шаблон битрикса?
Если подробнее:
Есть сайт на Битриксе и веб-приложение на asp.net
Хочется сделать так, чтобы пользователь видел в браузере страничку с веб-приложения внутри шаблона.
Код
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
require("c:/inetpub/wwwroot/test/Default.aspx");
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>

это естественно не работает, т.к. Default.aspx будет обрабатываться обработчиком php, а не asp.
Может у кого нибудь будут идеи?
Заранее спасибо
спросил 16 Май, 13 от Filicia (180 баллов)

8 Ответы

00 голосов
Как вариант:
Код
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/heade­r.php");
print file_get_contents('http://server.ru//test/Default.aspx');
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.­php");?> 
ответил 16 Май, 13 от GODDNEESS (500 баллов)
00 голосов
file_get_contents получает содержимое файла в виде одной строки, результат получается тот же самый...
может как то можно средствами php запросить у веб-сервера страничку, что бы тот вернул уже готовый html код?
ответил 16 Май, 13 от Filicia (180 баллов)
00 голосов
file_get_contents как раз может вернуть обработанный сервером файл, если запрашивать по HTTP.
Если запрашивать типа print file_get_contents('c:/inetpub/wwwroot/test/Default.aspx'); , то разумеется вернётся содержимое файла.
ответил 28 Июль, 13 от GODDNEESS (500 баллов)
00 голосов
Цитата
Владимир Косолапов пишет:
может как то можно средствами php запросить у веб-сервера страничку, что бы тот вернул уже готовый html код?
наверно можно :)
Попробуйте использовать функцию readfile http://www.php.ru/manual/function.readfile.html
ответил 31 Окт, 13 от sickmind (4,660 баллов)
00 голосов
Цитата
Андрей Пилюгин пишет:
Если запрашивать типа print file_get_contents('c:/inetpub/wwwroot/test/Default­.aspx'); , то разумеется вернётся содержимое файла.
поддерживаю :)
ответил 05 Фев, 14 от sickmind (4,660 баллов)
00 голосов
спасибо, если запрашивать по http, то действительно работает, правда обратной связи нет. При щелчке по кнопке, которая размещена на Default­­.aspx, выдается 404-я ошибка.
Наверно из-за того, что Default­­.aspx находится не в том же каталоге, в котором лежит php-файл, вызывающий file_get_contents.
Поместил Default­­.aspx в этот каталог, выдается другая ошибка:
System.Web.HttpException: Проверка состояние вида MAC не удалась.
ответил 25 Май, 14 от Filicia (180 баллов)
00 голосов
после клика по кнопке, которая встраивается в php страницу вместе с aspx страницей адрес странички меняется на Default­­.aspx, но при этом валится ошибка, вот полный лог:



Ошибка сервера в приложении '/'.
--------------------------------------------------------------------------------

Проверка состояние вида MAC не удалась. Если приложение управляется модулем Web Farm или кластером, убедитесь, что конфигурация <machineKey> указывает на тот же проверочный ключ validationKey и алгоритм проверки. Функция AutoGenerate не может быть использована в кластере.
Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода.

Сведения об исключении: System.Web.HttpException: Проверка состояние вида MAC не удалась. Если приложение управляется модулем Web Farm или кластером, убедитесь, что конфигурация <machineKey> указывает на тот же проверочный ключ validationKey и алгоритм проверки. Функция AutoGenerate не может быть использована в кластере.

Ошибка источника:


[Отсутствуют соответствующие исходные строки]


Исходный файл: c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\26676eb7\92c7e946\App_Web_oo2phyuk.0.cs Строка: 0

Трассировка стека:


[HttpException (0x80004005): Не удалось проверить данные.]
System.Web.Configuration.MachineKeySection.GetDecodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Int32& dataLength) +2639580
System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +214

[ViewStateException: Неверное состояние вида.
Client IP: ::1
Port: 49917
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; InfoPath.2)
ViewState: /wEPDwUJMjcyMDU3NzQ4ZGQzeFtNK0rtzs54ASHDu8HGgGFUOA==
Referer: http://localhost/test.php
Path: /Default.aspx]

[HttpException (0x80004005): Проверка состояние вида MAC не удалась. Если приложение управляется модулем Web Farm или кластером, убедитесь, что конфигурация <machineKey> указывает на тот же проверочный ключ validationKey и алгоритм проверки. Функция AutoGenerate не может быть использована в кластере.]
System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) +116
System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +251
System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState) +4
System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState) +37
System.Web.UI.HiddenFieldPageStatePersister.Load() +220
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +83
System.Web.UI.Page.LoadAllState() +35
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6978
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +213
System.Web.UI.Page.ProcessRequest() +86
System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +18
System.Web.UI.Page.ProcessRequest(HttpContext context) +49
ASP.default_aspx.ProcessRequest(HttpContext context) in c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\26676eb7\92c7e946\App_Web_oo2phyuk.0.cs:0
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +303
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64

кто нибудь знает, в чем дело?
ответил 22 Сен, 14 от Filicia (180 баллов)
00 голосов
А зачем такой изврат?

ЗЫ <iframe> не подойдет?
ответил 26 Янв, 15 от Revola (140 баллов)

Похожие вопросы

0 голосов
2 ответов
спросил 24 Апр, 14 от Wildest (500 баллов)
0 голосов
1 ответ
0 голосов
1 ответ
0 голосов
1 ответ
спросил 19 Янв, 16 от skyglider (340 баллов)
+1 голос
1 ответ