C# - Calling Stateful Unmanaged C++ Class From .NET Webservice?
Dec 7, 2010
I've inherited a half completed application that seems to use a model that I'm not sure can reliably work.It is a ASP.NET webservice that on each call loads a unmanaged C++ .DLL using
[DllImport ( "kernel32.dll" , EntryPoint = "LoadLibraryA" )]
public static extern int LoadLibrary( string lpLibFileName );.
[DllImport(@"MyUnamanagedDLL.dll")]
public static extern string DoStuff( );
In the unmanaged C++ .dll it is using a singleton to hold state between calls.This is so that it only has to initialise once and load a bunch of slow stuff from disk and database rather than on each webservice call as this is too slow.
I have a webservice that wraps an unmanaged C++ dll. I'm wondering how I should handle state and multiple connections? I'm thinking that the unmanaged dll will be shared across all connections...is this the case? Note that I am using a shared host so I have limited abilities to modify IIS specifically. If the unmanaged dll is not shared and will have a unique instance for every connection then I have nothing to worry about. If it's the case it's shared then I guess I will have to persist the unmanaged state on a per-connection basis through a DB?
Using the following Webservice definition using aClientArgs as a complex type:
[System.Web.Script.Services.ScriptService] public class Controller : System.Web.Services.WebService { [WebMethod] public void save_client(aClientArgs client) { // Save client data } } Then defining aClientArgs as a sub-class: public class aArgs { public string id = null; public string name = null; } public class aClientArgs : aArgs { public string address = null; public string website = null; } Returns the following WSDL fragment for the save_client args: <save_client xmlns="http://tempuri.org/"> <client> <address>string</address> <website>string</website> </client> </save_client> When I'm expecting the following: <save_client xmlns="http://tempuri.org/"> <client> <id>string</id> <name>string</name> <address>string</address> <website>string</website> </client> </save_client>
So it appears that the .NET WebService is not treating inherited properties as arguments/variables for purposes of a web service. How do I get .NET to also use the properties of the base class?
i have an application consisting of two asp.net projects. And i have have a BasePage which inherits System.Web.UI.Page and have the class some core logic which i require in all of my pages(Implemented in BasePage.cs). So all my pages inherit this BasePage.cs . Now can an Webservice inherit the same class apart from the normal webservice class System.Web.Services.WebService
I have almost the same problem as you have described in [URL] service. I have a asp.net webservice that calls a WCF service. On my development machine this is working fine. But if i deploy my ASP.net Webservice it is not working. Both the ASP Webservice en WCF service needs my cridentials. How did you solved your problem. In the logging of the WCF service I see that my credentials is not passing to WCF.
I am new to programming especially jQuery and webservices. I want to pass the values to the to database via the webservice. Below is the code for the .aspx page:
I'm trying to call an asp.net webservice from the same project it's in:
[MethodImpl(MethodImplOptions.Synchronized)] public static void OnFileCreated(object source, FileSystemEventArgs e) { trackdata_analyse rWebAnalyse = new trackdata_analyse(); rWebAnalyse.Analyse(@"pending" + e.Name, "YOUNIVATE"); }
However i always get the following "HttpContext is not available. This class can only be used in the context of an ASP.NET request." when calling Server.MapPath from the webservice:
[WebMethod] public int Analyse(string fileName, string PARSING_MODULE){ int nRecords; TrackSession rTrackSession = new TrackSession() ; string filePath = Server.MapPath(@"..data") + fileName;
Do i have to add the WebReference instead, though the webservice is in the same project?
I need to call this webservice from a ssis package.In the ssis package i should be mentioning the wsdl path of the webservice. How can wsdl path of a webservice be obtained?
I need to call a Java webservice from my ASP.Net application. The webservice uses Java Key Store (JKS) certificate. Could some one help me with how I could do this? As a side note, when I try to add Web Reference or Service Reference to my Visual Studio project by providing the WSDL, Visual Studio always crashes.
We have an ASP.NET website which calls a webservice. If impersonation is not on for the ASP.NET website the call to the webservice is slow - using WireShark we see that it is making WPAD queries. If impersonation is on and it's impersonating an admin user the call to the webservice is fast - using WireShark we that it is NOT making WPAD queries. Has anyone seen this before? How do we prevent the networkService, which by default is what the ASP.NET website uses, does not make WPAD queries. Why does impersonating as an admin user not cause WPAD queries?
Now i dont understand why my Autoextender is not call the webservice. I have tried callin the webservice from button click event...it works but not using AutoExtender..
I have an intranet application that is calling a webservice (code below). The webservice calls a stored procedure in q sql server 2005 that again does an openquery on a db2 (AS400) machine. The stored procedure is returning a temp table. On the call to the webservice I am getting a time out. At this point if time out the web service is still running and I can also see the query is in the program stack on the db2 machine. The query itself can take up to 20-30 minutes as it is reading 3 mill+ records. If I call the web service directly I get the result returned.
Code: Dim getOrderDetail As New localhost.OrderDetail myDataTable = getOrderDetail.GetOrderDetailRecords_DataTable(myUserId)
I'm generating a file on the server which takes some time. For this, I have a hidden iframe which I then set the .src attribute to an aspx file i.e iframe.src = "/downloadFile.aspx"While this is taking place, I'd like to have a call to a web service return the progress. To do this, I thought I could use window.setInterval or window.setTimeout but Javascript seems to be blocked as soon as I set the iframe src attribute.Does anyone know how to get around this or perhaps try a different approach?I have also tried handlers, but the request never gets to the server so I'm assuming is a browser/javascript issue.
//Function that gets the file function GetFile() { setTimeout(GetProgress, 1000); var iframe = document.createElement("iframe");
I've tried a bunch of different examples and still can't get this to work. I have a jQuery GalleryView control I'm using and I simply want to log impressions. I set up a webservice that works, but I can't figure out how to get it to work in javascript. I have verified that the webservice is working as expected.
Well i dont have an error but would like to get some guidance on this. I have a webservice that calls a class. The Class translates numbers to figures i.e. 4000 will return a string 'Four Thousand Shillings'. So what i actually want is how i can do my processing
backwards so that in the service i call the class's method to return a string so that i put the results on a Text property of a Label Control while i type each figure in a TextBox Control.
i.e. if i type 4 in my text box, i should see 'Four in my label', then 40 will return 'Fourty Shillings', then 400 will return 'Four hundred'
I have a page that calls a webservice from JavaScript using the approach described in this article: [URL]
This is working fine. The problem is when the page causes a postback before the end of the execution of the webservice's method. When that happens, the succeeded callback method never gets called. Does anyone know if there's a workaround to this?
I am using Asp.Net application for calling an existing Java webservice. Recently the web service is configured with Security certificates. Now I need to call the webservice using "https:URL .." and by passing the credentials i.e. UserId and Password.
When I call the webservice using [URL] I get the below error. Is the change in my code is causing this error?
Error:Client found response content type of 'text/html; charset=iso-8859-1', but expected 'text/xml'. The request failed with the error message: --
500 Internal Server Error
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request. contact the server administrator, you@your.address and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log.
I need to create a simple webservice in C# but I'm not sure where to start (I've coded UI apps in C# before but all my web experience is in Ruby on Rails). Where do I start?
The only client for the webservice will be a Ruby on Rails app so there's no need for any HTML rendering. I was thinking of just returning a XML or YAML formatted string unless there's an easier way. I'm not too keen on SOAP but if it's easy/natural in C# & Ruby then I'd consider it (or anything else).
auto complete Extender not calling the webservice method the exact problem is ., Am using AutoComplet Extender in Example project its working fine. but the same code(aspx code as well as webservice code) am using in my live project its not calling the web service method. my live project is dotnet 2.0 version
I am using the Login Control and the Login.aspx page for Login authentication. How can I call login from another page or a webservice method with a Userid and password parameters.
I get this error "The server method xxx timed out." calling a WebService that internally does a hard query to the database, and takes some time. I use this method to change the webservice timeout, but it does not seems to do anything (the timeout errors appears in less than a second). MyService.set_timeout(100000);