Inquiridor
Acessar Método Web Service

Pergunta
-
Olá a todos.
Estou criando meu primeiro Web Service e queria saber se alguém pode me ajudar com um probleminha que estou tendo.Estou usando Visual Studio 2005 com banco de dados SQL Server 2005 Express.
O caso é o seguinte:
Tenho um cliente o qual possui um sistema local com banco de dados Firebase e ele quer disponibilizar alguns dados dessa base em seu site.
Então, fiz um programa que lê as informações importantes e cria um arquivo de texto, o qual eu envio para a raiz do site via FTP.
Aí criei um webservice que ao terminar o upload do arquivo será chamado para ler as informações do arquivo de texto e atualiza-las no banco SQL 2005 do site.Bom, quando criei o webservice testei localmente e funcionou certinho. Ele corre todo o TXT e atualiza o banco de dados local. Então entrei na raiz do site e criei uma pasta e coloquei o webservice dentro dela.
Então fui até a aplicação que irá chamar o webservice e fui até a opção "Add Web Reference". Indiquei a URL que é, http://www.myonlinestatus.com/webservices/atualizaSIGCON.asmx . Então tentei testar clicando no link do serviço e recebi o seguinte erro:
System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. at System.Security.CodeAccessSecurityEngine.ThrowSecurityException(Assembly asm, PermissionSet granted, PermissionSet refused, RuntimeMethodHandle rmh, SecurityAction action, Object demand, IPermission permThatFailed) at System.Security.CodeAccessSecurityEngine.ThrowSecurityException(Object assemblyOrString, PermissionSet granted, PermissionSet refused, RuntimeMethodHandle rmh, SecurityAction action, Object demand, IPermission permThatFailed) at System.Security.CodeAccessSecurityEngine.CheckSetHelper(PermissionSet grants, PermissionSet refused, PermissionSet demands, RuntimeMethodHandle rmh, Object assemblyOrString, SecurityAction action, Boolean throwException) at System.Security.CodeAccessSecurityEngine.CheckSetHelper(CompressedStack cs, PermissionSet grants, PermissionSet refused, PermissionSet demands, RuntimeMethodHandle rmh, Assembly asm, SecurityAction action) at AtualizaSIGCON.RunJOB()
Que também acontece se eu chamo o serviço via código, que estou utilizando da seguinte forma:
Dim
leTXT As New AtualizaSIGCON.AtualizaSIGCONIf leTXT.RunJOB = True ThenMsgBox("Tarefa terminada com sucesso.")
Else
MsgBox("Ocorreu um erro durante a atualização do banco on-line.")
End If
Se alguém tiver idéia de como posso resolver esse problema, fico muito grato.
Obrigado
Todas as Respostas
-
-
Me desculpe Émerson. É que descobri o que estava causando o erro, mas esqueci de postar aqui.
O erro ocorre quando tento usar o método "WaitOne" do Mutex.Segue abaixo os imports e o código existente no WebMethod
Imports
System.WebImports
System.Web.ServicesImports
System.Web.Services.ProtocolsImports
System.ThreadingImports
ssPadrao<WebMethod()> _
Public Function RunJOB() As StringDim
mut As Mutex = New Mutex(False, " JobSchedulerMutex") Dim bErro As Bytemut.WaitOne()
Try
bErro = AtualizaPO()
bErro = 9
RunJOB =
RunJOB =
RunJOB =
mut.ReleaseMutex()
End TryEnd Function
Então deixei comentado todas as linhas referentes ao objeto Mutex e agora não dá mais o erro.
Coloquei essas linhas pois vi escrito que isso iria fazer com que o WebService não pudesse ser chamado duas ou mais vezes ao mesmo tempo.
Isso está correto?
Se não, qual outra maneira de poder controlar isso?