I'm hosting the WCF service in a windows service
Emanuela Meraglia
Posts
-
VB6 dll calls from WCF -
VB6 dll calls from WCFChecking the VB6 code with the developer, we have identified the point where the error occurs: it cannot return a path of the configuration file (from which it reads the formatting of the dates), and uses the Windows API "GetEnvironmentVariable" .
I'm trying to figure out if there is any incompatibility between WCF and the VB6 API calls. -
VB6 dll calls from WCFThey are rewriting it, but in the meantime I have to use their dll VB6! :(
-
VB6 dll calls from WCF -
VB6 dll calls from WCFI wrote the current user in my log file, and it matches with the Windows credentials I logged in with ... so it's ok.
-
VB6 dll calls from WCFI do not have the VB6 dll source from my provider, so I have no way of getting the error.
I am attaching images of errors captured by SQL Profiler, but I don't think they can help.
The 1.png, 2.png and 3.png files are screenshots of the SQL profiler traces captured at Runtime, while the 1_Debug.png, 2_Debug.png and 3_Debug.png files are screenshots of the SQL profiler traces captured in Debug (so working).Since the errors do not occur by calling the VB6 dll from VB6 or VB.NET applications, or by debugging my VB6 project which instantiates the external dll, I thought the problem lies in the process that hosts it.
https://drive.google.com/open?id=1Wziux18JvKzx-7DtBMTSfrOT5TuANVVF
-
VB6 dll calls from WCFI don't understand which user you're referring to
-
VB6 dll calls from WCFI start the service without credentials:
Private Sub AvviaServizio(ByVal t As Type, ByVal uri As String, ByVal classe As String)
Dim binding As New BasicHttpBinding
binding.OpenTimeout = New TimeSpan(0, 10, 0)
binding.CloseTimeout = New TimeSpan(0, 10, 0)
binding.SendTimeout = New TimeSpan(0, 10, 0
'binding.ReceiveTimeout = New TimeSpan(0, 10, 0)
'binding.Security.Mode = SecurityMode.Transport
'binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None
'binding.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.None
binding.MaxBufferPoolSize = 2147483647
binding.MaxBufferSize = 2147483647
binding.MaxReceivedMessageSize = 2147483647
binding.MessageEncoding = WSMessageEncoding.TextDim host As New ServiceModel.ServiceHost(t) host.AddServiceEndpoint(classe, binding, New Uri(uri & classe)) Try host.Description.Behaviors.Add(New ServiceMetadataBehavior With { .HttpGetEnabled = True, .HttpGetUrl = New Uri(uri & classe) }) host.Open() \_service.Add(host) Catch ex As Exception host.Abort() Throw End Try End Sub
-
VB6 dll calls from WCFThe error also occurs on my development PC, on which everything is executed. So I don't think it's a problem of regional settings.
-
VB6 dll calls from WCFI don't have the error because the VB6 dll is not mine, but with SQL profiler I found errors in the queries due to lack or incorrect formatting of dates.
-
VB6 dll calls from WCFI don't have the error because the VB6 dll is not mine, but with SQL profiler I found errors in the queries due to lack or incorrect formatting of dates.
-
VB6 dll calls from WCFHi everyone, I created a library of the WCF service, which recalls a VB6 dll. The problem is this: in the procedures of the VB6 dll (not my owner) strange errors occur (especially with dates), if the initial process that hosts it is the WCF service. Everything works correctly if the initial process is a VB6 executable, a VB.NET executable, or if I run the VB6 project in debug. Among the many attempts I set all my projects with CPUs targeting x86, and although I had no problems compiling the WCF service, I also tried to replace WcfSvcHost.exe with the same in 32-bit mode (with the command "corflags / 32BIT + / FORCE WcfSvcHost.exe "), but the problem persists. Actually I don't think it's even necessary, as the hosting of the WCF library is an application console. I have no idea how to solve ... can anyone help me?