Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 03:28 08.06.24 
Компютри и Интернет
   >> .NET
Всички теми Следваща тема *Кратък преглед

Тема Zero-Impact-Deploymentнови  
АвторhttpHandler (Нерегистриран)
Публикувано18.10.04 20:11



Значи, навлязох във very deep shit днес. Става въпрос за ASP.NET.

Правя модул за download на файлове. Целта е файловете да са достъпни за едни протребители, а за други да не са. Преди време, в първоначалната имплементация downloada се правеше по подобен начин:

public void StartDownload()
{
...
Response.WriteFile(this.LocalPath);
...
}

Това ме устройваше перфектно, но се установи, че фреймуърка има бъг при записване на големи файлове - примерно по-големи от 10МВ и затова намерих

, който ме устройваше отново. Сега обаче, файловете започнаха да стават много големи (35МВ+) и хората започнаха да ги теглят по-често едновременно и пак имам проблем - почна да свършва паметта (2GB), често файловете не се довършват заради таймаут и т.н. (увеличаването на времето за таймаут не помогна).

Сега реших да подходя по друг начин - написах HttpModule който прихваща Application.AuthenticateRequest и в зависимост от разширението, положението и правата за достъп до файла прави Context.RewritePath(newPath) и т.н. За целта съм мапнал разширенията като "*.zip" към aspnet_isapi.dll. По този начин файловете ми са защитени от неправомерен достъп и всичко е прозрачно за потребителя. Всичко е ОК и работи перфектно до един момент - наложи се да започна да доставям EXE файлове. Съответно когато минат през aspnet_isapi.dll фреймуърка си "мисли" че са HREF Exe (URL launched applications, Auto-Download Deployment или No-Touch Deployment приложения etc) и ги изпълнява

Реших да регистрирам HttpHandler за EXE файловете - System.Web.StaticFileHandler но изглежда че не работи както ми се иска (кaто сложа HttpForbiddenHandler и хендлъра сработва, но разбира се не даунлоудва нищо). Четох за страничните ефекти от това, но за сега съм готов да живея с тях. Друг вариант е да напиша сам Handler но пак ще се наложи да използвам Reponse.WriteFile, което не ме устройва.

Някой има ли идея как да си реша проблема? Може ли изобщо да се забрани изпълняването на ЕХЕ файлове по този начин?

Решения от вида "не давай да се даунлоудват ЕХЕ файлове" и "напиши си ISAPI extension" и "използвай FTP" не ме устройват...



Тема Re: Zero-Impact-Deploymentнови [re: httpHandler]  
Автор BlackEarl (гледам умно)
Публикувано19.10.04 08:51



А това върше ли работа:

Response.ContentType = "application/x-gzip;charset=windows-1251;";
Response.AddHeader("Content-Disposition", "inline;filename=filename.exe");
Response.WriteFile("c:\\1.exe");

При мен поне не тръгва да изпълнява файла

...and there shall be no more death,neither sorrow...for the former things are passed away


Тема Re: Zero-Impact-Deploymentнови [re: BlackEarl]  
АвторhttpHandler (Нерегистриран)
Публикувано19.10.04 10:45



За съжаление точно това ca нещaтa, които се опитвам да избягна -
Response.WriteFile() и Response.WriteBinary().
Това беше първия вариант, който бях направил - описал съм защо отпадна. Проблема не е в липсата на хедъри или неправилни хедъри. Проблема с тези методи е в самия фреймуърк - Microsoft си го признават в линка, който съм дал в предния постинг.



Тема Re: Zero-Impact-Deployment [re: httpHandler]  
АвторhttpHandler (Нерегистриран)
Публикувано20.10.04 12:48



Хехе :)
Направих го! (Не мислете повече по проблема)



Тема Re: Zero-Impact-Deploymentнови [re: httpHandler]  
Автор Survivor (минаващ)
Публикувано21.10.04 10:46



А ще споделиш ли как? Щото мен точно в момента ме занимава почти същото нещо...

но след безсънни дълги нощи станах силен и голям
и вече знам, че мога да се справя сам



Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.