Tag: servicestack

ServiceStack.Text是否提供JSON的漂亮打印?

TL; DR:ServiceStack.Text中是否有内置方式来生成漂亮的JSON? 我正在使用ServiceStack.Text来进行JSON序列化。 到目前为止它确实很好用,但是创建的JSON(使用.ToJSON() )没有用空格或换行符格式化(最有可能在通过网络发送时节省空间)。 但是,在某些情况下,将JSON格式化以便于人类可读性会更好。 .Dump ()方法执行某种格式化,但不会生成有效的JSON(即缺少周围的双引号)。

ServiceStack / ASP.NET:所有请求/工作进程都要访问的全局对象?

我正在使用ServiceStack框架开发一个Web服务项目。 我想创建一个全局对象(在我的例子中,是我正在使用的GDS系统的SessionManager对象,它与ASP.NET会话无关),所有传入的请求都可以访问它。 但是,我面临一个问题,即ASP.NET将创建我的应用程序的新实例,从而在其生命周期中创建一个我的SessionManager的新实例几次。 我通过在Global.asax类中的Application_Start和Application_End受保护方法上放置调试行来validation这一点,并意识到Global.asax类在其生命周期中开始和结束多次。 我尝试在静态类中声明我的SessionManager并通过静态构造使用它,但它仍然创建了我的SessionManager的新实例。 不知道为什么。 所以我的问题是如何创建一个可以被所有请求访问的正确的全局(内存)对象? 最初我认为通过使用IoC容器并指定它可以实现单个对象的单例范围,但在ASP.NET世界中似乎不是这种情况。 所以请原谅我在ASP.NET领域的知识,因为我来自前端开发背景。 希望从这个社区的一些专家那里获得这方面的一些知识。 可以提前感谢!

如何在ServiceStack.OrmLite中使用参数执行SQL语句?

我想在ServiceStack ormlite中使用paraemeters执行SQL语句 String.Format(“SELECT OBJECT_ID(@name)”, name); 我想要最好的方式。

如何在ServiceStack中遍历所有会话?

我们的应用程序在每个公司都有公司和用途。 每家公司都有X个许可证。 我们使用的是类型化的会话类,该类包含公司的ID以及其他用户信息。 我需要添加到我们的身份validation过程中,检查当前登录是否会超过公司的许可证。 我相信这样做的方法是在所有与当前尝试登录的用户的companyId匹配的会话中计算所有公司ID,并将该计数与公司表中可用许可证的数量进行比较。 这是一种有效的方法吗? 如果是这样,请让我知道如何查询所有会话,因为我还没有想到它,我仍然有点新的ServiceStack。

soap 1.1的服务堆栈序列化例外

请求消息: String String String String 响应消息/错误: SerializationException Could not deserialize ‘application/xml’ request using EServices_Response.SendGetAccountNotification’ Error: System.Runtime.Serialization.SerializationException: Error in line 1 position 170. Expecting element ‘SendGetAccountNotification’ from namespace ‘mynamespace’.. Encountered ‘Element’ with name ‘Envelope’, namespace ‘http://schemas.xmlsoap.org/soap/envelope/’. at System.Runtime.Serialization.DataContractSerializer.InternalReadObject(XmlReaderDelegator xmlReader, Boolean verifyObjectName, DataContractResolver dataContractResolver) at System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver) at ServiceStack.WebHost.Endpoints.Support.EndpointHandlerBase.DeserializeContentType(Type operationType, IHttpRequest httpReq, String […]

在ServiceStack中动态创建操作和服务

我正在开发一个ServiceStack项目,它要求我收集一个命令列表,我有200多个命令,并为每个命令创建一个操作和服务。 基本上我正在制作一个命令API,它允许用户在不使用UI的情况下发送命令(暴露我的命令)。 我正在尝试做的一个简单示例:(应用程序启动) Gather all commands (with some exemptions) for each command make an operation and service for that command map the commands attributes to the new operation and service 我遇到的问题是创建运营和服务。 我不确定它是否在ServiceStack框架内得到支持,以允许动态创建服务和操作,但我真的没有找到一种方法来做到这一点。 为了澄清,动态我的意思是在应用程序启动期间从列表中创建命令,而不是动态创建它们。 有人可以为我的理解提供一些启示吗? 我感谢任何帮助, 麦克风

同一IIS服务器上的两个服务堆栈API

我目前处于需要将多个Service Stack API部署到同一服务器并获得“AppHostBase”的情况。 实例已经设置’。 我发现这个链接: ServiceStack AppHost是一个单身人士? 但它似乎与相关API或版本化API的多个版本有关。 这不是我的情景。 我如何(或有办法)配置多个完全不相关的服务堆栈API,并且彼此之间没有任何相关知识可以在同一台服务器上同时运行?

ServiceStack.Text将json反序列化为对象始终转换为字符串并使用引号表现奇怪

我想做什么: 我有json对象,其值可以是字符串,整数,双精度或任何这些的列表。 我正在尝试将这些json字符串反序列化为C#对象,但由于它们可能有多种类型,因此我坚持使用通用对象,而不是强类型替代。 我的问题:似乎ServiceStack.Text.JsonSerializer.DeserializeFromString(jsonString)函数在T = object的情况下表现得很奇怪。 它总是将事物视为字符串,并且不适用于引号。 这是一个例子: string json1 = “[1]”; string json2 = “[1,2]”; string json3 = “[‘hello’]”; string json4 = “[‘hello’,’world’]”; string json5 = “[\”hello\”]”; string json6 = “[\”hello\”,\”world\”]”; object o1 = JsonSerializer.DeserializeFromString(json1); object o2 = JsonSerializer.DeserializeFromString(json2); object o3 = JsonSerializer.DeserializeFromString(json3); object o4 = JsonSerializer.DeserializeFromString(json4); object o5 = JsonSerializer.DeserializeFromString(json5); object o6 = […]

使用Web服务HTTP Post

我正在使用ServiceStack来使用Web服务。 标题是: POST /SeizureWebService/Service.asmx/SeizureAPILogs HTTP/1.1 Host: host.com Content-Type: application/x-www-form-urlencoded Content-Length: length jsonRequest=string 我正在尝试使用此代码使用它: public class JsonCustomClient : JsonServiceClient { public override string Format { get { return “x-www-form-urlencoded”; } } public override void SerializeToStream(ServiceStack.ServiceHost.IRequestContext requestContext, object request, System.IO.Stream stream) { string message = “jsonRequest=”; using (StreamWriter sw = new StreamWriter(stream, Encoding.Unicode)) { sw.Write(message); } // […]

服务堆栈(REST)SOAP和WSDL无法正常工作

我实现了ServiceStack Hello World ,除了一件重要的事情外,每件事都没问题。 它的SOAP11和SOAP12以及WSDL也无法正常工作。 当访问URL http:// localhost:8082 / SOAP11 / for SOAP11或SOAP12时,它说: { “ResponseStatus”:{ “ErrorCode”:”NotImplementedException”, “Message”:”The method or operation is not implemented.”, “StackTrace”:” at ServiceStack.WebHost.Endpoints.Support.EndpointHandlerBase.ProcessRequest(IHttpRequest httpReq, IHttpResponse httpRes, String operationName) in C:\\src\\ServiceStack\\src\\ServiceStack\\WebHost.EndPoints\\Support\\EndpointHandlerBase.cs:line 52\n at ServiceStack.WebHost.Endpoints.AppHostHttpListenerBase.ProcessRequest(HttpListenerContext context) in C:\\src\\ServiceStack\\src\\ServiceStack\\WebHost.EndPoints\\AppHostHttpListenerBase.cs:line 57\n at ServiceStack.WebHost.Endpoints.Support.HttpListenerBase.ListenerCallback(IAsyncResult asyncResult) in C:\\src\\ServiceStack\\src\\ServiceStack\\WebHost.EndPoints\\Support\\HttpListenerBase.cs:line 197″ } } 我是通过控制台主机实现的。 我的控制台主机类: public class AppHost : AppHostHttpListenerBase […]