Hi!
Some advice to have restful json service in wisej?
Maybe Nancy integration? Or another approach (I’m using localdb and i want to know if calls to restful service is posible) (I need restful service because i have some IoT devices to connect with)
http://nancyfx.org/
https://www.nuget.org/packages/Nancy/
Thanks in advance!
Hi David.
You need both nuget packages
Install-Package Nancy
Install-Package Nancy.Hosting.Aspnet
Last fixes you issue about -> “Could not load type ‘Nancy.Hosting.Aspnet.NancyHttpRequestHandler”
Hi David,
I had a quick lock at the sample but it’s unclear to me what you need to do. The sample references Nancy but uses ASP.NET WebApi. It uses Nancy only for JSON serialization but it also references Newtownsoft. It also uses static properties in a non-static lass “output” to save user authentication. Static properties will be available to all sessions – if one client is authorized then all clients become authorized (I don’t know if this was intended).
In general web api routing, whether using Nancy, WebApi or Web Handlers (ashx) is not hampered or managed by Wisej at all. Static routing is entirely up to the web server and the routing framework.
Wisej is a stateful system. Each client (browser) creates a session on the server. If a stateless api call from a specific client needs to access the Wisej session, it must pass back the session id as part of the URL. If that is what you are trying to do I can send you an api sample using either Nancy, WebApi, or Web Handlers.
Let me know which routing system you prefer.
This is the simplest code to do a basic handler that does basic REST / HTTP API POST [That is transfer data from an application up to a web service – database]
Attached is WebApi.sln
a. Winform POST json object to http://localhost:xxx/api/a/b
b. WebApi Handler decodes JSON POST to object and can then store to database/etc. Code gets very specific to your api once you get started (swagger / api editors )
Seems Nancy is a wrapper that makes syntax easier to read when decoding/encoding your data
Let me know if you can figure out how the Application.MainPage can access to WebApi object so you dont have to go via database with SignalR to alert app/ or poll database.
I have tried many ways to implement basic RESTful API function like
http://volkanpaksoy.com/archive/2015/11/11/building-a-simple-http-server-with-nancy/
https://www.codeproject.com/tips/894355/microservice-net-create-micro-services-easily-with
I have run into issues with System.Web.HttpException: Could not load type ‘Nancy.Hosting.Aspnet.NancyHttpRequestHandler’ from web.config
A simple working WiseJ example with RESTful implementation would be greatly appreciated.
You can use Nancy. And if you need to retrieve the state (Nancy is stateless) you can use Application.RestoreSession(HttpContext.Current); See sample below:
public class SampleModule : Nancy.NancyModule
{
public SampleModule()
{
Get[“/products/{id}”] = args =>
{
Application.RestoreSession(HttpContext.Current);
Application.OpenForms[“Window1”].Text = “Hello from Nancy!”;
return “Hello World!”;
};
}
}
This is web.config:
<handlers> <add name="wisej" verb="*" path="*.wx" type="Wisej.Core.HttpHandler, Wisej.Core" /> <add name="Nancy" verb="*" path="*" type="Nancy.Hosting.Aspnet.NancyHttpRequestHandler" /> </handlers>
And of course make sure that “/” is not a route.
Please login first to submit.