Release 4.2.1

17 views
Skip to first unread message

Timóteo Ramos

unread,
Nov 18, 2015, 12:31:52 PM11/18/15
to monob...@googlegroups.com
Saiu ontem mais um release do Mono, e um ajuste em especial me chamou
bastante atenção: corrigiram a falta do método RegisterModule no
HttpApplication! Aparentemente já é possível rodar aplicações ASP.NET
MVC 5 sem nenhum ajuste especial, inclusive eu até tentei fazer minha
própria implementação dessa função há uns meses atrás e compartilhei
aqui na lista mesmo não tendo muito sucesso, mas felizmente já deram
jeito nisso.

A correção em especial é citada aqui:
https://github.com/mono/mono/commit/58e0608c10c621b15fd9f396f8e46c567891b231

Estou baixando o código fonte desse release e vou compilar aqui no
Debian Jessie pra testar, espero ter bons resultados :)

Alessandro Binhara

unread,
Nov 18, 2015, 12:50:42 PM11/18/15
to Lista MonoBrasil
legal.. bom saber isso 

manda novidades... se vc montar um tutorial com a teu teste.. agente publica no monobrasil
registrar a tua experiencia.. e se precisar de alguma ajuda posta aqui .. 




--
Você está recebendo esta mensagem porque se inscreveu no grupo "MonoBrasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para monobrasil+...@googlegroups.com.
Para postar neste grupo, envie um e-mail para monob...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/monobrasil.
Para obter mais opções, acesse https://groups.google.com/d/optout.



--
Alessandro de Oliveria Binhara
Azuris CloudSystem
MonoBrasil Project Founder
Xamarin Consulting Partner
Hortonworks - SI/CP Program Partner

Novo Fone: (41) 4042-0687





Timóteo Ramos

unread,
Nov 18, 2015, 3:18:08 PM11/18/15
to monob...@googlegroups.com
Excelentes notícias, galera! Os templates iniciais do MVC 5 e do WebAPI
2 rodaram sem nenhuma alteração, do Visual Studio 2013 para o Mono no
Linux!

Basicamente o teste que eu fiz aqui foi: criar duas soluções, uma com o
template do MVC 5 e uma com o template do WebAPI 2; copiar as soluções
do Windows e recompilar/testar no MonoDevelop do Debian.

O que eu precisei fazer:

- Atualizar o repositório oficial do Mono para Debian (instruções nesse
link: http://www.mono-project.com/docs/getting-started/install/linux/ ),
nem precisei compilar, o repositório oficial já disponibiliza o release
mais recente.

- Adicionar pastas que o ASP.NET pede e que eu nunca entendi o propósito
delas: Digite "sudo mkdir -p /etc/mono/registry/LocalMachine" no
terminal

- Obviamente ter instalado os pacotes mono-complete e monodevelop para
poder testar com precisão

Mas nem tudo são flores, em contrapartida eu fiz um teste com o Nancy
via OWIN (que deveria ser mais fácil de rodar do que o próprio MVC 5), e
justo ele me apresentou problemas. Segue abaixo a mensagem de erro:



System.MissingMethodException: Method
'HttpRequestBase.GetBufferlessInputStream' not found.
at Microsoft.Owin.Host.SystemWeb.CallStreams.InputStream.get_Stream ()
<0x4110b4f0 + 0x0000f> in <filename unknown>:0
at
Microsoft.Owin.Host.SystemWeb.CallStreams.DelegatingStream.get_CanRead
() <0x4110b4c0 + 0x00013> in <filename unknown>:0
at Nancy.IO.RequestStream.ThrowExceptionIfCtorParametersWereInvalid
(System.IO.Stream stream, Int64 expectedLength, Int64 thresholdLength)
<0x40ed9d70 + 0x00024> in <filename unknown>:0
at Nancy.IO.RequestStream..ctor (System.IO.Stream stream, Int64
expectedLength, Int64 thresholdLength, Boolean disableStreamSwitching)
<0x41036c80 + 0x00103> in <filename unknown>:0
at Nancy.IO.RequestStream..ctor (System.IO.Stream stream, Int64
expectedLength, Boolean disableStreamSwitching) <0x4110b470 + 0x0003f>
in <filename unknown>:0
at (wrapper remoting-invoke-with-check) Nancy.IO.RequestStream:.ctor
(System.IO.Stream,long,bool)
at Nancy.Owin.NancyMiddleware+<>c__DisplayClass4
+<>c__DisplayClass6.<UseNancy>b__1 (IDictionary`2 environment)
<0x41102c80 + 0x002d7> in <filename unknown>:0
at
Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage+<RunApp>d__5.MoveNext () <0x41102890 + 0x00083> in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown
---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()
<0x4110f460 + 0x00033> in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
(System.Threading.Tasks.Task task) <0x4110ef80 + 0x00113> in <filename
unknown>:0
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) <0x4110edb0 + 0x000b3> in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd
(System.Threading.Tasks.Task task) <0x4110ed50 + 0x00042> in <filename
unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult ()
<0x4110ed20 + 0x0001a> in <filename unknown>:0
at
Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContext+<DoFinalWork>d__2.MoveNext () <0x4110e8f0 + 0x0021b> in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown
---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()
<0x4110f460 + 0x00033> in <filename unknown>:0
at Microsoft.Owin.Host.SystemWeb.Infrastructure.ErrorState.Rethrow ()
<0x4110fac0 + 0x00021> in <filename unknown>:0
at
Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.StageAsyncResult.End
(IAsyncResult ar) <0x4110cd30 + 0x0006b> in <filename unknown>:0
at
Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContext.EndFinalWork (IAsyncResult ar) <0x4110fa20 + 0x0001f> in <filename unknown>:0
at System.Web.AsyncInvoker.<doAsyncCallback>m__0 (System.Object ores)
<0x4110f8a0 + 0x000c3> in <filename unknown>:0



Talvez tenha sido algum vacilo meu, mas se o MVC 5 rodou, então é no
mínimo estranho ter problemas com um framework que sempre rodou tão bem
no modo self-host suprindo algumas necessidades minhas.
> +unsub...@googlegroups.com.
> Para postar neste grupo, envie um e-mail para
> monob...@googlegroups.com.
> Visite este grupo em
> http://groups.google.com/group/monobrasil.
> Para obter mais opções, acesse
> https://groups.google.com/d/optout.
>
>
>
>
> --
> Alessandro de Oliveria Binhara
> Azuris CloudSystem
> MonoBrasil Project Founder
>
> Xamarin Consulting Partner
> Hortonworks - SI/CP Program Partner
> Novo Fone: (41) 4042-0687
>
>
>
>
>
>
>
>
>
> --
> Você recebeu essa mensagem porque está inscrito no grupo "MonoBrasil"
> dos Grupos do Google.
> Para cancelar inscrição nesse grupo e parar de receber e-mails dele,
> envie um e-mail para monobrasil+...@googlegroups.com.
> Para postar nesse grupo, envie um e-mail para
> monob...@googlegroups.com.
> Acesse esse grupo em http://groups.google.com/group/monobrasil.
> Para mais opções, acesse https://groups.google.com/d/optout.


Timóteo Ramos

unread,
Nov 21, 2015, 7:06:17 AM11/21/15
to monob...@googlegroups.com
Parece que não é só o Nancy que apresentou problemas... O ASP.NET
Identity também deu o mesmo problema. Fui consultar no código fonte do
Mono e achei uma implementação desse GetBufferlessInputStream, mas ele
estava implementado diretamente no HttpRequest, ao invés de sobrescrever
um método (virtual ou abstrato, não sei dizer ao certo) do
HttpRequestBase. Se alguém puder enviar essa notificação lá pro pessoal
do Mono seria uma boa, eu não manjo muito desses bug reports no
Github :)
Reply all
Reply to author
Forward
0 new messages