小编JBu*_*uus的帖子

Shopify App开发教程

我不确定这是否是正确的论坛,因为我没有具体的开发问题 - 但是这里是:)

我正在考虑创建一个Shopify应用程序,以便在我的Shopify商店的前端使用.我一直在浏览Shopify文档,API看起来很棒 - 使用应用程序(至少是私有应用程序)启动和运行看起来很轻松.

但是我在创建应用程序后如何使用该应用程序?假设我使用单个控制器(Home - > Index)创建一个新的ASP.NET MVC站点,该站点返回一个简单地说"Hello World"的视图.(将来控制器当然会调用API,而View会用数据做出惊人的东西等)

现在我想在Shopify商店的前端使用这个神奇的网站作为应用程序.我是怎么做到这一点的?:)

我可以找到很多关于如何调用API以及如何在Shopify管理员中设置私有应用程序的教程 - 但我如何在我的前端实际使用这个应用程序?我不是在寻找有关公共应用程序和OAuth等的解释(尽管这方面的教程也很棒) - 但对于初学者来说只是一个关于创建和使用私有应用程序的教程.

任何伟大的教程/ Udemy课程/ Pluralsight视频等在那里我错过了?

多谢你们.

shopify

18
推荐指数
1
解决办法
6417
查看次数

MVC 5 OWIN - IsAuthenticated在外部登录时为false(QQ Connect)

我希望有人可以帮我解决这个问题 - 这让我很生气!:)

我正在尝试使用tinysnake的QQ Connect提供商通过QQ Connect(OAuth 2.0)进行外部登录:https://github.com/tinysnake/microsoft-owin-security-qq

一切似乎都很好 - 我可以通过我的QQ帐户登录,然后通过相应的声明等回复到我的ExternalLoginCallBack方法.我使用这些值通过IAuthenticationManager签署用户 - 一切顺利.但是 - 当我将用户重定向到另一个页面并检查他是否已登录时 - 我从IsAuthenticated值中得到一个错误的值...而我无法读取我之前设置的任何声明.

这可能是一个简单的修复 - 但我现在看不到它:)

一些代码:

AuthConfig:

public static void ConfigureAuthentication(IAppBuilder app)
{
    app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);

    // Normal cookie sign in
    app.UseCookieAuthentication(new CookieAuthenticationOptions
    {
        AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
        LoginPath = new PathString("/Account/Login"),
        AuthenticationMode = AuthenticationMode.Active
    });

    // QQ CONNECT
    app.UseQQConnectAuthentication(
        appId: "XXXXXX",
        appSecret: "XXXXXXXXXXXXXXXXX");
}
Run Code Online (Sandbox Code Playgroud)

的AccountController:

//
// POST: /Account/ExternalLogin
[System.Web.Mvc.HttpPost]
[System.Web.Mvc.AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult ExternalLogin(string provider, string returnUrl)
{
    // Request a redirect to the …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc oauth-2.0 owin asp.net-mvc-5

7
推荐指数
1
解决办法
4368
查看次数

Web API下载锁定文件

我遇到一个WebAPI方法的小问题,当用户调用方法的路由时,该方法会下载文件.

方法本身很简单:

public HttpResponseMessage Download(string fileId, string extension)
{
    var location = ConfigurationManager.AppSettings["FilesDownloadLocation"];
    var path = HttpContext.Current.Server.MapPath(location) + fileId + "." + extension;

    var result = new HttpResponseMessage(HttpStatusCode.OK);
    var stream = new FileStream(path, FileMode.Open);
    result.Content = new StreamContent(stream);
    result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
    return result;
}
Run Code Online (Sandbox Code Playgroud)

该方法按预期工作 - 我第一次调用它.传输文件,我的浏览器开始下载文件.

但是 - 如果我从我自己的计算机或任何其他计算机再次调用相同的URL - 我收到一条错误消息:

该进程无法访问文件'D:\ ...\App_Data\pdfs\test-file.pdf',因为它正由另一个进程使用.

这个错误持续了大约一分钟 - 然后我可以再次下载文件 - 但只能一次 - 然后我必须等待一分钟左右,直到文件解锁.

请注意我的文件相当大(100-800 MB).

我在方法中遗漏了什么吗?它似乎流文件锁定文件一段时间或类似的东西?

谢谢 :)

c# asp.net asp.net-mvc-4 asp.net-web-api

4
推荐指数
1
解决办法
877
查看次数