edu

How to run C# binaries, as CGI applications, in IIS

If you want to use C# to write CGI applications, you might stumble on some technical difficulties, when using the IIS web server: no matter what are the permissions you set for the folder holding the CGI executable, whenever executing it, the web server doesn’t process the file and tries to serve it as if the client had requested its download!

One workaround is to explicitly map some dummy extension, to the EXE that you want to use as the CGI application.
For example, map “.CSX” to the executable that is the output of your C# CGI solution.

The HTML that needs to invoke the CGI, must invoke the dummy (zero bytes) .CSX file, because invoking the .EXE would produce the IIS problem already mentioned.

In order to do the “.CSX” <—> “CGI.EXE” mapping, (1) create one server side directory (virtual or not) to hold the C# CGI solutions.

The picture below shows that, in some computer, the “\cgi-bin\cgi_cs” folder was chosen to hold the C# executables.

IIS configuration for C# CGI (1 of 6)

After (1), make sure that you (2) create an “IIS application” for the folder, having execute permissions for BOTH script and executables.

IIS configuration for C# CGI (2 of 6)

Once the application is created, it is possible to configure it. So, (3) click the configuration button.

IIS configuration for C# CGI (3 of 6)

(4) The relevant tab in “application configuration” is the “mappings” tab. Here, click the “Add” button. This operation is the way to build the aforementioned “.CSX” <—> “CGI.EXE” relation.

IIS configuration for C# CGI (4 of 6)

(5) In the “mapping” dialog, browse to the C# .EXE file that is intended to run as a CGI; then type “.CSX” as the extension; then you can uncheck the “check that file exists” option and, finally, press the OK button.

If the OK button is dimmed/grayed/not enabled, just click once on the executable textbox!

IIS configuration for C# CGI (5 of 6)

(6) After this, the “application configuration” dialog box should list the “.CSX” extension at the bottom.

In order to use the new mapping, restart (stop, then start) the IIS web server.

Having done these six steps, all that is left is to code the right invocation of the CGI. For example, if using forms and its action attribute, point the action to some empty .CSX file.

To build an empty CGI.CSX file, go to the “command prompt” and type “copy con cgi.csx”, followed by ENTER, followed by CTRL+Z (which is the end-of-file character).

IIS configuration for C# CGI (6 of 6)

Microsoft ITeach @ Microsoft Portugal, 2006-11-16

ITeach é mais uma iniciativa da Microsoft Portugal, para a educação. A sua apresentação aconteceu na quinta-feira, 2006–11–16.
O site oficial está em http://www.iteach.pt/default.aspx.

Cheguei ao evento ITeach, pelas 13:55, tendo logo encontrado Vitor Santos – Gestor de Programas Académicos de Ciência dos Computadores da Microsoft Portugal – e o Professor Brasileiro Flávio Soares Silva, do Laboratório de Lógica, Inteligência Artificial e Métodos Formais, da Universidade de São Paulo, que faria a terceira apresentação do dia.

Foi com o Professor Flávio Silva e, depois, com docentes do Instituto Politécnico de Beja – Luís Garcia e João Barros – que fiquei até ao início das sessões.

Microsoft Portugal - João Oliveira  A primeira pessoa a falar foi João Oliveira, Director da Unidade de Negócio de Desenvolvimento e Plataformas, da Microsoft Portugal.
Agradeceu a presença de todos e fez um resumo do que iria ocorrer ao longo da tarde, até às 18 horas.

 

Microsoft EMEA - Mauricio Ulargui 

O segundo interveniente foi Mauricio Ulargui, o espanhol “Academic Director for Microsoft EMEA”; ou seja, o responsável #1 da Microsoft para a relação com a “Academia”, na Europa, no Médio-Oriente e em África (EMEA = Europe Middle-East and Africa). Bill Gates desempenha hoje as mesmas funções, nos EUA.

Ulargui, com um sotaque exótico, falou em inglês sobre o interesse da Microsoft pela educação. Numa só frase, “é um interesse estratégico”. As empresas cujo domínio é apenas suportado pela liderança do seu produto/serviço tendem a ser rapidamente substituidas por outras, mercê dos ciclos de produto e da natureza da inovação.

 Uma empresa pode sustentar uma posição de liderança, por redes de parceriais. Por exemplo, a Microsoft não vende nem suporta directamente os seus produtos: fá-lo por intermédio de parceiros de negócio.
Na Educação, a Microsoft vê nas escolas parceiros que “sabem como” (know-how), mas que podem necessitar de apoios diversos, do financiamento à facilitação no acesso a recursos e contactos com outras organizações.

É essa simbiose Microsoft-ensino, que o programa ITeach objectiva intensificar e elevar, por exemplo, na forma de cursos e materiais de apoio pedagógico.
Outras iniciativas relacionadas são:

http://msdn.microsoft.com/academic/ – developers’ network;
http://imaginecup.com – concursos para estudantes;
http://student-partners.com - programa, para estudantes, mas que não inclui Portugal;
e mais, consultáveis a partir de http://www.microsoft.com/education/.

Universidade de São Paulo - Flávio Silva 

A terceira pessoa a falar foi Flávio Silva. Esta foi a primeira apresentação não-Microsoft.
Flávio Silva falou do problema da “quebra de atractividade dos cursos de Informática e Computação, a nível global”.
Este problema está identificado: na sua escola: “há 3 anos havia 60 candidatos por vaga, agora há menos de 30…”.
A tendência parece ser global: “o mesmo ocorre nos EUA e na Europa”.

Não são compreendidas as causa do fenómeno, aparentemente paradoxal, no contexto de uma sociedade cada vez mais intensa, do ponto de vista da tecnologia, da computação e da automação.

Foi então formulada uma recta de hipóteses explicativas:
- no extremo esquerdo situa-se um desínteresse acentuado dos candidatos pela tecnologia/Informática/automação;
- no extremo direito situa-se uma total desadequação, da forma de ensinar.

Flávio Silva argumentou que as explicações se situarão entre os extremos.

Explicou então como a sua escola tem procurado contrariar a tendência. Basicamente, em vez de fazer “chover” matéria sobre os alunos, primeiro cria-se-lhes a necessidade; isto é, os alunos têm que resolver problemas que lhes façam sentir carências em matérias, comummente associadas a adjectivos como “chatas”, “inúteis” e/ou “difíceis”.
Este esforço tem sido aplicado em licenciaturas e em mestrados, com “algum sucesso”, recorrendo a videojogos: os alunos sentem-se motivados pela vertente lúdica do videojogo e estudam com prazer matérias sem as quais o videojogo não poderia ser concebido, como lógica para inteligência artificial, álgebra para gráficos e física para a credibilidade nos movimentos. 

Depois do intervalo “para café”, falou António Bob Santos, da CNEL (Coordenação Nacional da Estratégia de Lisboa), ou seja a entidade coordenadora do “Plano Tecnológico” para Portugal.

Foi uma apresentação em que o MICrofone não funcionou, prejudicada por algum bla bla de fundo. O tema era de grande interesse: uma aferição de Portugal, em termos de qualificações escolares, relativamente a outros países da Europa, recorrendo a gráficos da UE (União Europeia) a 15 e, outras vezes, a gráficos da UE «alargada».

Para além das qualificações, a aferição abrangeu assuntos relacionáveis, como a penetração da Internet de banda larga.

Sobre estas matérias de Economia do Conhecimento e de Políticas Públicas de Comunicações, este site publica os seguintes recursos:

Internet e Economia do Conhecimento

Tarifa Plana

Os estudos apresentados parecem sugerir uma divergência entre o diagnóstico e a acção: em Portugal, desce o investimento público em educação superior, principalmente quando os cursos têm menos procura. Como muitos cursos com pouca procura são cursos tecnológicos, isto significa uma admissão de “é importante qualificarmos a população para a Economia da Informação”, mas uma decisão de “não há dinheiro para cursos tecnológicos, se não tiverem procura”…

FCT-UNL - Pedro Guerreiro 

Por fim, falou o professor Pedro Guerreiro, da FCT-UNL (Faculdade de Ciências e Tecnologia – Universidade Nova de Lisboa).
Reconhecido como uma pessoa estimulante, sempre esforçada em motivar a audiência, Pedro Guerreiro conversou sobre boas práticas pedagógicas, no ensino de disciplinas como Programação, Fundamentos de Programação e afins. 

Algumas das suas sugestões passam pelo (1) recurso a ferramentas como Moodle (um Course Management System), para a criação de uma comunidade escolar online, e (2) Mooshack (um classificador automático de programas de computador, como certos ou errados, em função das saídas que escrevem para ficheiro, relativamente a um ficheiro de respostas certas).

Também foi recomendada a participação em concursos de programação e apresentado um ranking dos “melhores programadores”, dominado por pessoas de países como Polónia e Rússia…

Não foi discutido o que é um “bom programador”.

 João Oliveira encerraria a sessão, com agradecimentos aos oradores e à assistência.

Foi proveitoso.

Os slides utilizados por cada um dos oradores deverão ser publicados no ITeach.pt.