我有一个asp.net mvc4 Web应用程序,它使用C#编写的API消耗数据数据,并在Apache/mod_mono的Linux机器上托管
客户端应用程序是用C#/ asp.net编写的 - 它运行在不同的Web服务器上,也就是Linux/Apache/mod_mono.我不确定这些细节在这种情况下是否重要,但我认为任何背景都可能有所帮助.
导致这个问题的问题:AppHostBase实例未设置 - 帮助我更加了解这一切是如何组合在一起的.
我相信我现在应该问的正确问题是:一旦我在servicestack中创建一个会话(在API服务器上),我该如何正确地重新连接它?
根据之前问题的答案,我在客户端应用程序的auth控制器中使用了这段代码:
var authService = AppHostBase.Resolve<AuthService>();
authService.RequestContext = System.Web.HttpContext.Current.ToRequestContext();
var AuthResponse = authService.Authenticate(new Auth
{
provider = "credentials",
UserName = user.user_id,
Password = user.password,
RememberMe = true
});
Run Code Online (Sandbox Code Playgroud)
这将返回ResolutionException:
无法解析ServiceStack.ServiceInterface.Auth.AuthService类型的必需依赖项.
在让客户端在asp.net应用程序中工作时,我可能会缺少一些简单的东西吗?
如果问题太模糊,我会道歉,并乐意提供更多信息.
更新:
这是AuthController - 请原谅这个烂摊子,自从我上一篇文章以来,我一直在尝试一些事情:
{
public partial class AuthController : BaseController
{
JsonServiceClient client = new ServiceStack.ServiceClient.Web.JsonServiceClient("<TheAPIurl>");
// GET: /Login/
public ActionResult login()
{
if (Session["IsAuthenticated"] != null)
{
ViewData["Result"] = Session["IsAuthenticated"];
}
return View();
} …Run Code Online (Sandbox Code Playgroud) 在继续学习和使用ServiceStack时,我正在尝试使用ac#/ WPF应用程序来使用hello服务.
我已经完成了使用NuGet安装所需文件的预期步骤:
PM> install-package servicestack.common
Run Code Online (Sandbox Code Playgroud)
我相信我已经导入了正确的命名空间:
using ServiceStack.Common;
using ServiceStack.Common.ServiceClient.Web;
Run Code Online (Sandbox Code Playgroud)
然而,当我尝试按照我在Stack和Github上找到的示例时,VS10报告无法找到类型或命名空间.
var client = new JsonServiceClient("http://172.16.0.15/");
Run Code Online (Sandbox Code Playgroud)
我也无法使用我认为完全限定的名称创建此对象:
var client = new ServiceStack.ServiceClient.web.JsonServiceClient . . .
Run Code Online (Sandbox Code Playgroud)
是否有必须安装的另一个包或必须进行的另一个引用才能使用此类?
更新:
达林建议的完全限定类型似乎没有办法:
var client = new ServiceStack.ServiceClient.Web.JsonServiceClient("http://172.16.0.15/");
Run Code Online (Sandbox Code Playgroud)
我仍然得到VS10报告:
"The type or namespace name 'ServiceClient' does not exist in the namespace 'ServiceStack'.... "
Run Code Online (Sandbox Code Playgroud)