2014-10-29 99 views
0

我想创建一个Facebook应用程序使用默认的Facebook模板的Asp.Net MVC。我在developers.facebook.com上注册并创建了一个应用程序。Facebook应用程序使用ASP.Net MVC

我已经使用以下步骤创建基于ASP.NET MVC的网页:

  1. 我已经启用了SSL属性为True。
  2. 复制了SSL URL(在我的情况下它是localhost:44301)。
  3. 在解决方案资源管理器中,右键单击MvcFBTestApp并选择属性。
  4. 选择Web选项卡。将SSL URL粘贴到Project Url框中,然后单击Create Virtual Directory。
  5. 我已经使用了Facebook App的App ID/App Secret和Namespace,并使用这些设置配置了MVCApp的web.config文件。
  6. 保存项目并运行项目。

现在,如果我运行应用程序它请求Facebook登录并登录到Facebook。但之后,它会生成以下错误,而不是显示默认的MVC网页。感谢任何人都可以给我指导。

'/'应用程序中的服务器错误。


无法将字符串转换为整数:public_profile。路径'data [0] .permission',第1行,第39位。 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关该错误的更多信息以及源代码的位置。

异常详细信息:Newtonsoft.Json.JsonReaderException:无法将字符串转换为整数:public_profile。路径'data [0] .permission',第1行,第39位。

源错误: 执行当前Web请求期间生成未处理的异常。关于异常的来源和位置的信息可以使用下面的异常堆栈跟踪来标识。

堆栈跟踪:

[JsonReaderException:无法将字符串转换为整数:public_profile。 Path'data [0] .permission',line 1,position 39.] Newtonsoft.Json.JsonReader.ReadAsInt32Internal()+921 Newtonsoft.Json.JsonTextReader.ReadAsInt32()+39 Newtonsoft.Json.Serialization.JsonSerializerInternalReader。 ReadForType(JsonReader读卡器,JsonContract合同,布尔hasConverter)+228 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateDictionary(IWrappedDictionary wrappedDictionary,JsonReader读者,JsonDictionaryContract合同,JsonProperty containerProperty,字符串ID)1469 Newtonsoft.Json.Serialization.JsonSerializerInternalReader。 CreateObject(JsonReader reader,Type objectType,JsonContract合约,JsonProperty成员,JsonContainerContract containerContract,JsonProperty containerMember,Object existingValue)+866 Newtonsoft.Json.Serialization.JsonSerializerInter nalReader.CreateValueInternal(JsonReader reader,Type objectType,JsonContract合同,JsonProperty成员,JsonContainerContract containerContract,JsonProperty containerMember,Object existingValue)+184 Newtonsoft.Json.Serialization.JsonSerializerInternalReader。PopulateList(IWrappedCollection wrappedList,JsonReader reader,JsonArrayContract contract,JsonProperty containerProperty,String id)+1180 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader,Type objectType,JsonContract contract,JsonProperty member,Object existingValue,String id)+698 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader读卡器,类型的objectType,JsonContract合同,JsonProperty构件,JsonContainerContract containerContract,JsonProperty containerMember,对象existingValue)233 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty属性,JsonConverter propertyConverter ,JsonContainerContract containerContract,JsonProperty containerProperty,JsonReader reader,Object target)+598 Newtonsoft.Json.Serialization.JsonSerializ erlternalReader.PopulateObject(Object newObject,JsonReader reader,JsonObjectContract contract,JsonProperty member,String id)+1799 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader,Type objectType,JsonContract contract,JsonProperty member,JsonContainerContract containerContract,JsonProperty containerMember,对象existingValue)517 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader读卡器,类型的objectType,JsonContract合同,JsonProperty构件,JsonContainerContract containerContract,JsonProperty containerMember,对象existingValue)184 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize( JsonReader reader,Type objectType,布尔checkAdditionalContent)+740 Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader,Type objectType )+1143 Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader,Type objectType)+47 Newtonsoft.Json.JsonConvert.DeserializeObject(String value,Type type,JsonSerializerSettings settings)+193 Newtonsoft.Json.JsonConvert.DeserializeObject(String值,Type类型)+44 Facebook.FacebookClient.ProcessResponse(HttpHelper httpHelper,String responseString,Type resultType,Boolean containsEtag,IList 1 batchEtags) +2070 Facebook.FacebookClient.Api(HttpMethod httpMethod, String path, Object parameters, Type resultType) +1168 Facebook.FacebookClient.Get(String path, Object parameters, Type resultType) +52 Facebook.FacebookClient.Get(String path, Object parameters) +139 Facebook.FacebookClient.Get(String path) +100 Microsoft.AspNet.Mvc.Facebook.Client.FacebookClientExtensions.GetCurrentUserPermissions(FacebookClient client) +74 Microsoft.AspNet.Mvc.Facebook.Providers.DefaultFacebookPermissionService.GetUserPermissions(String userId, String accessToken) +217 Microsoft.AspNet.Mvc.Facebook.Authorization.FacebookAuthorizeFilter.OnAuthorization(AuthorizationContext filterContext) +5182 System.Web.Mvc.ControllerActionInvoker.InvokeAuthorizationFilters(ControllerContext controllerContext, IList 1个过滤器,ActionDescriptor actionDescriptor)+143 System.Web.Mvc.Async。 <> c__DisplayClass25.b__1e(的AsyncCallback的AsyncCallback,对象asyncState)978 System.Web.Mvc.Async.WrappedAsyncResult 1.Begin(AsyncCallback callback, Object state, Int32 timeout) +161 System.Web.Mvc.Async.AsyncResultWrapper.Begin(AsyncCallback callback, Object state, BeginInvokeDelegate beginDelegate, EndInvokeDelegate 1 endDelegate,对象标记,的Int32超时)92 System.Web.Mvc.Async.AsyncResultWrapper.Begin(的AsyncCallback回调,对象状态,BeginInvokeDelegate beginDelegate,EndInvokeDelegate 1 endDelegate, Object tag) +53 System.Web.Mvc.Async.AsyncControllerActionInvoker.BeginInvokeAction(ControllerContext controllerContext, String actionName, AsyncCallback callback, Object state) +523 System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__17(AsyncCallback asyncCallback, Object asyncState) +83 System.Web.Mvc.Async.WrappedAsyncResult 1.Begin(AsyncCallback回调,对象状态,Int32超时)+161 System.Web.Mvc.Async.AsyncResultWrapper.Begin(AsyncCallback callback,Object state,BeginInvokeDelegate beginDelegate,EndInvokeDelegate 1 endDelegate, Object tag, Int32 timeout) +92 System.Web.Mvc.Async.AsyncResultWrapper.Begin(AsyncCallback callback, Object state, BeginInvokeDelegate beginDelegate, EndInvokeDelegate endDelegate, Object tag, Int32 timeout) +97 System.Web.Mvc.Async.AsyncResultWrapper.Begin(AsyncCallback callback, Object state, BeginInvokeDelegate beginDelegate, EndInvokeDelegate endDelegate, Object tag) +53 System.Web.Mvc.Controller.BeginExecuteCore(AsyncCallback callback, Object state) +501 System.Web.Mvc.Async.WrappedAsyncResult 1 .Begin(AsyncCallback callback,Object state,Int32 timeout)+161 System.Web.Mvc.Async.AsyncResultWrapper.Begin(AsyncCallback callback,Object state,BeginInvokeDelegate beginDelegate,EndInvokeDelegate 1 endDelegate, Object tag, Int32 timeout) +92 System.Web.Mvc.Async.AsyncResultWrapper.Begin(AsyncCallback callback, Object state, BeginInvokeDelegate beginDelegate, EndInvokeDelegate endDelegate, Object tag, Int32 timeout) +97 System.Web.Mvc.Async.AsyncResultWrapper.Begin(AsyncCallback callback, Object state, BeginInvokeDelegate beginDelegate, EndInvokeDelegate endDelegate, Object tag) +53 System.Web.Mvc.Controller.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) +417 System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) +49 System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__2(AsyncCallback asyncCallback, Object asyncState) +127 System.Web.Mvc.Async.WrappedAsyncResult 1.Begin(AsyncCallback c System.Web.Mvc.Async.AsyncResultWrapper.Begin(AsyncCallback回调,对象状态,BeginInvokeDelegate beginDelegate,EndInvokeDelegate`1 endDelegate,Object标记,Int32超时)+92 System.Web.Mython.AccessController Mvc.Async.AsyncResultWrapper.Begin(AsyncCallback callback,Object state,BeginInvokeDelegate beginDelegate,EndInvokeDelegate endDelegate,Object tag,Int32 timeout)+97 System.Web.Mvc.Async.AsyncResultWrapper.Begin(AsyncCallback callback,Object state,BeginInvokeDelegate beginDelegate, EndInvokeDelegate endDelegate,对象标记)+53 System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase的HttpContext,AsyncCallback的回调,对象状态)+373 System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext的HttpContext的,AsyncCallback的回调,对象的状态) +88 Syst em.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext上下文,AsyncCallback cb,Object extraData)+50 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+301 系统。 Web.HttpApplication。ExecuteStep(IExecutionStep一步,布尔& completedSynchronously)155个

感谢& BR,

艾哈迈德

回答

0

这个Newtonsoft.Json库中解析问题。一些字符串不能被解析为一个整数。

尝试确保您安装的是Newtonsoft.Json库的最新更新版本。

相关问题