私はFacebookのSDKには、次のコードをusign C#の周りのラッパーを書いた:NinjectでInSingletonScopeを使用してFacebook SDKラッパーを挿入するのは正しいですか?
public interface IFacebookService
{
Uri GetLoginUri(string returnUrl);
FacebookResult OAuth(string url, string code);
void Post(string message, string accessToken);
}
のように実装が見えます:OAuthのを使用してログインを実行するために必要なところ、私はこれを注入するNinjectを使用
public class FacebookService : IFacebookService
{
public Uri GetLoginUri(string returnUrl)
{
var oAuthClient = new FacebookOAuthClient(FacebookApplication.Current);
// code removed for simplicity
return uri;
}
public FacebookResult OAuth(string url, string code)
{
FacebookOAuthResult oauthResult;
if (FacebookOAuthResult.TryParse(url, out oauthResult))
{
// code removed for simplicity
}
return result;
}
public void Post(string message, string accessToken)
{
var client = new FacebookClient(accessToken);
// code removed for simplicity
}
}
とユーザーのFacebookの壁に投稿します。私は現在、これを使用して設定した
:
kernel.Bind<IFacebookService>().To<FacebookService>().InSingletonScope();
はInSingletonScopeを使用することが正しいですか?これはサードパーティライブラリであるため、すべてのスレッドがインスタンスを共有するため、これが適切な方法であるかどうかはわかりません。
いくつかコードを投稿できますか? – Thomas