/// <summary>Initializes a new instance of the NServiceKit.ServiceHost.MqRequestContext class.</summary> /// /// <param name="resolver">The resolver.</param> /// <param name="message"> The message.</param> public MqRequestContext(IResolver resolver, IMessage message) { this.Resolver = resolver; this.Message = message; this.ContentType = this.ResponseContentType = Common.Web.ContentType.Json; if (message.Body != null) { this.PathInfo = "/json/oneway/" + OperationName; } this.Request = new MqRequest(this); this.Response = new MqResponse(this); }
/// <summary>Renders to HTML.</summary> /// /// <exception cref="ArgumentNullException">Thrown when one or more required arguments are null.</exception> /// /// <param name="razorPage">The razor page.</param> /// <param name="razorView">The razor view.</param> /// <param name="model"> The model.</param> /// <param name="layout"> The layout.</param> /// /// <returns>A string.</returns> public string RenderToHtml(RazorPage razorPage, out IRazorView razorView, object model = null, string layout = null) { if (razorPage == null) throw new ArgumentNullException("razorPage"); var mqContext = new MqRequestContext(); var httpReq = new MqRequest(mqContext); if (layout != null) { httpReq.Items[RazorPageResolver.LayoutKey] = layout; } var httpRes = new MqResponse(mqContext); razorView = PageResolver.ResolveAndExecuteRazorPage( httpReq: httpReq, httpRes: httpRes, model: model, razorPage: razorPage); var ms = (MemoryStream)httpRes.OutputStream; return ms.ToArray().FromUtf8Bytes(); }