Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala Pessoal, estou com um problema quase solucionado...rs...
Explicando melhor:
Tenho uma dll feita em VB6 que adiciono no meu projeto web e a mesma faz algumas pesquisas e um outro webservice, mas só funciona essa dll
Quando adiciona a referencia no projeto e utilizo na página tenho que colocar no cabecalho AspCompact="true" e funciona normalmente....até ai tenho o componentes funcionando que é uma maravilha...agora vem o problema
Quero implantar o mesmo em uma classe, ou melhor em um webservice para fazer intereção jquery e ai que a dor de cabeça começou.....
Quando tento retornar a string pelo webservide, dá o seguinte erro:
ActiveX control '8856f961-340a-11d0-a96b-00c04fd705a2' cannot be instantiated because the current thread is not in a single-threaded apartment.
Depois de muito pesquisar, muito mesmo...encontrei um link falando sobre a solução, mas tenho que ser sincero...não entendi como aplicar isso...
Segue o link, acho que é um assunto muito bom para ser tratado, pois muitos desenvolvedores poderão se deparar com esse tipo de problema
http://msdn.microsoft.com/en-us/magazine/cc163544.aspx
http://forums.asp.net/p/1603620/4084852.aspx
Abraços
Desculpe, coloque na sessão principal do forum, acho que é direcionado a web application...desculpe...
Por favor, mover para Web Application
Abraços
Fala Quinte ou Ivan...coloquei no lugar errado, tem que ir para Web Applications...desculpa ai...
Abraços
>
Se o link estiver correto. No primeiro link o que pedem pra fazer, repare no tópico: The Solution
É criar a classe AspCompatWebServiceHandler
using System;
using System.Web;
using System.Web.UI;
using System.Web.Services.Protocols;
using System.Web.SessionState;
public class AspCompatWebServiceHandler :
System.Web.UI.Page, IHttpAsyncHandler, IRequiresSessionState
{
protected override void OnInit(EventArgs e)
{
IHttpHandler handler =
new WebServiceHandlerFactory ().GetHandler(
this.Context,
this.Context.Request.HttpMethod,
this.Context.Request.FilePath,
this.Context.Request.PhysicalPath);
handler.ProcessRequest(this.Context);
this.Context.ApplicationInstance.CompleteRequest();
}
public IAsyncResult BeginProcessRequest(
HttpContext context, AsyncCallback cb, object extraData)
{
return this.AspCompatBeginProcessRequest(
context, cb, extraData);
}
public void EndProcessRequest(IAsyncResult result)
{
this.AspCompatEndProcessRequest(result);
}
}
E adicionar este código no web.config:
<configuration>
<system.web>
<httpHandlers>
<add verb="*" path="*.asmx"
type="AspCompatWebServiceHandler, __code" />
</httpHandlers>
</system.web>
</configuration>
Abraços...
Fala Ivan, quando adiciono isso no web.config dá erro...fala que que referencia está incorreta no cabecalho...e tenho que retirar o registro para poder voltar a abrir o projeto
Se o link estiver correto. No primeiro link o que pedem pra fazer, repare no tópico: The Solution
É criar a classe AspCompatWebServiceHandler
public class AspCompatWebServiceHandler :
System.Web.UI.Page, IHttpAsyncHandler, IRequiresSessionState
{
protected override void OnInit(EventArgs e)
{
IHttpHandler handler =
E adicionar este código no web.config:
Abraços...