calling FacebookClient.PostAsync from silverlight canvas app generates MethodAccessException - silverlight-4.0

I am calling this from a silverlight app:
// docs at: http://developers.facebook.com/docs/reference/api/post
var client = new FacebookClient(_token);
dynamic parameters = new ExpandoObject();
parameters.message = title;
parameters.link = linkUrl;
parameters.picture = imageUrl;
parameters.name = name;
parameters.caption = promptTitle;
parameters.description = description;
parameters.privacy = new
{
value = "ALL_FRIENDS",
};
client.PostAsync("me/feed", parameters);
This generates the following error:
Attempt by security transparent method 'SimpleJson.Reflection.CacheResolver.CreateDynamicMethod(System.String, System.Type, System.Type[], System.Type)' to access security critical method 'System.Reflection.Emit.DynamicMethod..ctor(System.String, System.Type, System.Type[], System.Type, Boolean)' failed.
-- more: --
{System.MethodAccessException: Attempt by security transparent method 'SimpleJson.Reflection.CacheResolver.CreateDynamicMethod(System.String, System.Type, System.Type[], System.Type)' to access security critical method 'System.Reflection.Emit.DynamicMethod..ctor(System.String, System.Type, System.Type[], System.Type, Boolean)' failed.
at SimpleJson.Reflection.CacheResolver.CreateDynamicMethod(String name, Type returnType, Type[] parameterTypes, Type owner)
at SimpleJson.Reflection.CacheResolver.CreateGetHandler(PropertyInfo propertyInfo)
at SimpleJson.Reflection.CacheResolver.MemberMap..ctor(PropertyInfo propertyInfo)
at SimpleJson.PocoJsonSerializerStrategy.BuildMap(Type type, SafeDictionary2 memberMaps)
at SimpleJson.DataContractJsonSerializerStrategy.BuildMap(Type type, SafeDictionary2 map)
at SimpleJson.Reflection.CacheResolver.LoadMaps(Type type)
at SimpleJson.PocoJsonSerializerStrategy.TrySerializeUnknownTypes(Object input, Object& output)
at SimpleJson.PocoJsonSerializerStrategy.SerializeNonPrimitiveObject(Object input, Object& output)
at SimpleJson.SimpleJson.SerializeValue(IJsonSerializerStrategy jsonSerializerStrategy, Object value, StringBuilder builder)
at SimpleJson.SimpleJson.SerializeObject(Object json, IJsonSerializerStrategy jsonSerializerStrategy)
at SimpleJson.SimpleJson.SerializeObject(Object json)
at Facebook.JsonSerializer.SimpleJsonSerializer.SerializeObject(Object obj)
at Facebook.FacebookUtils.ToJsonQueryString(IDictionary2 dictionary)
at Facebook.FacebookClient.BuildRequestData(Uri uri, IDictionary2 parameters, HttpMethod httpMethod, Uri& requestUrl, String& contentType)
at Facebook.FacebookClient.BuildRequestData(String path, IDictionary2 parameters, HttpMethod method, Uri& requestUrl, String& contentType)
at Facebook.FacebookClient.ApiAsync(String path, IDictionary2 parameters, HttpMethod httpMethod, Object userToken)
at Facebook.FacebookClient.PostAsync(String path, IDictionary2 parameters, Object userToken)
at Facebook.FacebookClient.PostAsync(String path, IDictionary2 parameters)
at CallSite.Target(Closure , CallSite , FacebookClient , String , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid3[T0,T1,T2](CallSite site, T0 arg0, T1 arg1, T2 arg2)

was a bug with the sdk at that time. has been fixed since.

Related

System.ObjectDisposedException: Cannot access a disposed object asp.net-core-webapi

I am using asp.net-core-webapi and I am also using iTextSharp to create pdf in memory steam.
[Route("preview/{Id}")]
[System.Web.Http.HttpGet]
public async Task<IActionResult> PreviewSpecSheet(int Id)
{
FileStreamResult fsr;
Document document = new Document(PageSize.A4, 25, 25, 30, 30);
using (MemoryStream ms = new MemoryStream())
{
using (PdfWriter writer = PdfWriter.GetInstance(document, ms))
{
//PdfWriter writer = PdfWriter.GetInstance(document, ms);
document.Open();
//header Image
iTextSharp.text.Image headerImg = iTextSharp.text.Image.GetInstance("D:\\go2\\Pixelle\\specsheet\\pixservice\\assets\\header.jpg");
headerImg.SetAbsolutePosition(0, 750);
headerImg.ScaleAbsolute(500f, 100.00f);
document.Add(headerImg);
fsr = File(ms, "application/pdf", "test.pdf");
return fsr;
}
}
}
I am getting following error :
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'Cannot access a closed file.'.
at System.IO.FileStream.BeginRead(Byte[] array, Int32 offset, Int32 numBytes, AsyncCallback callback, Object state)
at System.IO.Stream.<>c.<BeginEndReadAsync>b__48_0(Stream stream, ReadWriteParameters args, AsyncCallback callback, Object state)
at System.Threading.Tasks.TaskFactory`1.FromAsyncTrim[TInstance,TArgs](TInstance thisRef, TArgs args, Func`5 beginMethod, Func`3 endMethod)
at System.IO.Stream.BeginEndReadAsync(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.FileStream.ReadAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Http.StreamCopyOperationInternal.CopyToAsync(Stream source, Stream destination, Nullable`1 count, Int32 bufferSize, CancellationToken cancel)
at Microsoft.AspNetCore.Mvc.Infrastructure.FileResultExecutorBase.WriteFileAsync(HttpContext context, Stream fileStream, RangeItemHeaderValue range, Int64 rangeLength)
at Microsoft.AspNetCore.Mvc.Infrastructure.FileStreamResultExecutor.ExecuteAsync(ActionContext context, FileStreamResult result)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeResultAsync>g__Logged|21_0(ResourceInvoker invoker, IActionResult result)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResultFilterAsync>g__Awaited|29_0[TFilter,TFilterAsync](ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResultExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext[TFilter,TFilterAsync](State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeResultFilters()
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|19_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
Edited after apply comment solution :
If I remove using its working fine but when I am using
document.Close();
writer.Close();
before fsr = File(ms, "application/pdf", "test.pdf"); its again same error and if I dont close the document and writer , downloaded pdf is in corrupt format , not able to open.
Okay, So I am able to figure this out what was the issue.
In original code issue was using block , as already mentioned in comments section.
But when I removed using still facing issue of stream closing when I close document and writer .
and the reason is The PdfWriter class may be closing your stream. Make sure to set the CloseStream property to false.
so I set writer CloseStream property to false , just after declare.
PdfWriter writer = PdfWriter.GetInstance(document, ms);
writer.CloseStream = false;
and its worked.
[Route("preview/{Id}")]
[System.Web.Http.HttpGet]
public async Task<IActionResult> PreviewSpecSheet(int Id)
{
FileStreamResult fsr;
Document document = new Document(PageSize.A4, 25, 25, 30, 30);
MemoryStream ms = new MemoryStream();
PdfWriter writer = PdfWriter.GetInstance(document, ms);
writer.CloseStream = false;
document.Open();
//header Image
iTextSharp.text.Image headerImg = iTextSharp.text.Image.GetInstance("D:\\go2\\Pixelle\\specsheet\\pixservice\\assets\\header.jpg");
headerImg.SetAbsolutePosition(0, 750);
headerImg.ScaleAbsolute(500f, 100.00f);
document.Add(headerImg);
document.Close();
writer.Close();
ms.Position = 0;
fsr = File(ms, "application/pdf", "test.pdf");
return fsr;
}

Error uploading a document to SQL Server in .Net Core 3.1 Web API

I have a SQL Server stored procedure that is used for uploading a document and returns an ID upon success.
I am storing the parameter file_data into a byte[] type in the Customer_Document_ADD class.
public byte[] file_data { get; set; }
The following is my repository code.
public async Task<int> InsertCustomer_Document_ADDResult(Customer_Document_ADD customer_Document_ADDED)
{
await using(SqlConnection connection = new SqlConnection(_connectionString))
{
connection.Open();
// define SqlParameters for the other two params to be passed
var company_idParam = new SqlParameter("#company_id", customer_Document_ADDED.company_id);
var customer_idParam = new SqlParameter("#customer_id", customer_Document_ADDED.customer_id);
var customer_site_idParam = new SqlParameter("#customer_site_id", customer_Document_ADDED.customer_site_id);
var customer_system_idParam = new SqlParameter("#customer_system_id", customer_Document_ADDED.customer_system_id);
var job_idParam = new SqlParameter("#job_id", customer_Document_ADDED.job_id);
var security_levelParam = new SqlParameter("#security_level", customer_Document_ADDED.security_level);
var file_nameParam = new SqlParameter("#file_name", customer_Document_ADDED.file_name);
var file_sizeParam = new SqlParameter("#file_size", customer_Document_ADDED.file_size);
var upload_dateParam = new SqlParameter("#upload_date", customer_Document_ADDED.upload_date);
var document_extParam = new SqlParameter("#document_ext", customer_Document_ADDED.document_ext);
var user_codeParam = new SqlParameter("#user_code", customer_Document_ADDED.user_code);
var user_descriptionParam = new SqlParameter("#user_description", customer_Document_ADDED.user_description);
var reference1Param = new SqlParameter("#reference1", customer_Document_ADDED.reference1);
var reference2Param = new SqlParameter("#reference2", customer_Document_ADDED.reference2);
var reference3Param = new SqlParameter("#reference3", customer_Document_ADDED.reference3);
var reference4Param = new SqlParameter("#reference4", customer_Document_ADDED.reference4);
var file_dataParam = new SqlParameter("#file_data", customer_Document_ADDED.file_data);
//if (file_dataParam.Value == null)
//{
// file_dataParam.Value = "";
//}
file_dataParam.SqlDbType = SqlDbType.Image;
// define the output parameter that needs to be retained
// for the Id created when the Stored Procedure executes
// the INSERT command
var document_idParam = new SqlParameter("#document_id", SqlDbType.Int);
// the direction defines what kind of parameter we're passing
// it can be one of:
// Input
// Output
// InputOutput -- which does pass a value to Stored Procedure and retains a new state
document_idParam.Direction = ParameterDirection.Output;
// we can also use context.Database.ExecuteSqlCommand() or awaitable ExecuteSqlCommandAsync()
// which also produces the same result - but the method is now marked obselete
// so we use ExecuteSqlRawAsync() instead
// we're using the awaitable version since GetOrCreateUserAsync() method is marked async
await context.Database.ExecuteSqlRawAsync(
"EXECUTE [dbo].[Customer_Document_ADD_incentive] #company_id, #customer_id, #customer_site_id, #customer_system_id, #job_id, #security_level, #file_name, #file_size, #upload_date, #document_ext, #user_code, #user_description, #reference1, #reference2, #reference3, #reference4, #file_data, #document_id out",
company_idParam,
customer_idParam,
customer_site_idParam,
customer_system_idParam,
job_idParam,
security_levelParam,
file_nameParam,
file_sizeParam,
upload_dateParam,
document_extParam,
user_codeParam,
user_descriptionParam,
reference1Param,
reference2Param,
reference3Param,
reference4Param,
file_dataParam,
document_idParam);
// the userIdParam which represents the Output param
// now holds the Id of the new user and is an Object type
// so we convert it to an Integer and send
return Convert.ToInt32(document_idParam.Value);
}
}
I'm getting the following error in Postman.
Microsoft.Data.SqlClient.SqlException (0x80131904): The parameterized query '(#company_id int,#customer_id int,#customer_site_id int,#custome' expects the parameter '#file_data', which was not supplied.
at Microsoft.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at Microsoft.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at Microsoft.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at Microsoft.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
at Microsoft.Data.SqlClient.SqlCommand.CompleteAsyncExecuteReader(Boolean isInternal, Boolean forDescribeParameterEncryption)
at Microsoft.Data.SqlClient.SqlCommand.InternalEndExecuteNonQuery(IAsyncResult asyncResult, Boolean isInternal, String endMethod)
at Microsoft.Data.SqlClient.SqlCommand.EndExecuteNonQueryInternal(IAsyncResult asyncResult)
at Microsoft.Data.SqlClient.SqlCommand.EndExecuteNonQueryAsync(IAsyncResult asyncResult)
at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQueryAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQueryAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQueryAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.ExecuteSqlRawAsync(DatabaseFacade databaseFacade, String sql, IEnumerable`1 parameters, CancellationToken cancellationToken)
at WebAPI.Repository.Customer_Document_ADDRepository.InsertCustomer_Document_ADDResult(Customer_Document_ADD customer_Document_ADDED) in C:\Users\CStith\source\code\project\WebAPI\WebAPI\Repository\Customer_Document_ADDRepository.cs:line 73
at WebAPI.Repository.Customer_Document_ADDRepository.InsertCustomer_Document_ADDResult(Customer_Document_ADD customer_Document_ADDED) in C:\Users\CStith\source\code\project\WebAPI\WebAPI\Repository\Customer_Document_ADDRepository.cs:line 97
at WebAPI.Controllers.Customer_Document_ADDController.InsertCustomer_Document_ADDResult(Customer_Document_ADD customer_Document_ADDED) in C:\Users\CStith\source\code\project\WebAPI\WebAPI\Controllers\Customer_Document_ADDController.cs:line 38
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|19_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
ClientConnectionId:e8f735f0-1ab5-4d53-9ead-01df3ee63c2e
Error Number:8178,State:1,Class:16
All other values are captured except the file. I am getting a null value in the debugger. Why am I unable to upload a file into the database? Thanks in advance.
Firstly,default model binding system cannot bind file to byte[] properties.If you want to bind file to btye[],you can use ByteArrayModelBinder,here is an official link.
Also,if you don't mind to change the type of file_data,you can use
public IFormFile file_data { get; set; }
and then you can convert it to byte[] type with MemoryStream.Here is an official link about upload files in .net core.

FileStreamResult in ASP.NET core of a large file ( > 2 GB) results in System.IO.IOException: Stream was too long

I am trying to send a large file using FileStreamResult -
return new UnbufferedFileStreamResult(new FileStream(apiResponse.url, FileMode.Open, FileAccess.Read), "text/csv") { FileDownloadName = new FileInfo(apiResponse.url).Name };
The UnbufferedFileStreamResult is:
public class UnbufferedFileStreamResult : FileStreamResult {
public UnbufferedFileStreamResult(Stream fileStream, string contentType) : base(fileStream, contentType) {
}
public override void ExecuteResult(ActionContext context) {
context.HttpContext.DisableOutputBuffering();
base.ExecuteResult(context);
}
}
This seems to work for files up to a certain size, but if they get too big I get the following exception:
System.IO.IOException: Stream was too long.
at System.IO.MemoryStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.MemoryStream.WriteAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken cancellationToken)
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.AspNetCore.Http.Extensions.StreamCopyOperation.CopyToAsync(Stream source, Stream destination, Nullable`1 count, Int32 bufferSize, CancellationToken cancel)
at Microsoft.AspNetCore.Mvc.Infrastructure.FileResultExecutorBase.WriteFileAsync(HttpContext context, Stream fileStream, RangeItemHeaderValue range, Int64 rangeLength)
at Microsoft.AspNetCore.Mvc.Infrastructure.FileStreamResultExecutor.ExecuteAsync(ActionContext context, FileStreamResult result)
at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeResultAsync(IActionResult result)
at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextResultFilterAsync[TFilter,TFilterAsync]()
at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResultExecutedContext context)
at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.ResultNext[TFilter,TFilterAsync](State& next, Scope& scope, O
So it appears that FileStreamResultExecutorBase is copying my file stream into a memory stream before it goes to the http output stream. My questions are 1) why is it doing this, 2) how can I prevent this behavior, and 3) are there implementations of results like FileStreamResult that can read directly from the input stream to the output stream without copying to memory first?

Can't get two-way SSL to work with HttpWebRequest

I have a WCF service application that is supposed to connect to another server X to retrieve data. When server X is configured with one-way SSL, the WCF service application is able to connect to it without problem. But when server X is configured with two-way SSL, the WCF service application will have problem connecting to it.
The WCF service application uses a self-signed certificate. This certificate was exported without private key into a .cer file, and imported into server X's trust store. The same exported certificate was used in the WCF service application's codes:
string URL = "https://11.205.112.49:5311/Ping";
HttpWebRequest Request = (HttpWebRequest)WebRequest.Create(URL);
X509Certificate2 Certificate = new X509Certificate2("F:\\cert.cer");
Request.ClientCertificates.Add(Certificate);
Request.Method = "GET";
HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();
The last line of the codes above will throw WebException with the following message:
The request was aborted: Could not create SSL/TLS secure channel.
The above error does not provide much details.
Help is appreciate.
Thanks in advance.
EDIT:
This is my entire program:
using System.Net;
using System.Security.Cryptography.X509Certificates;
using System.IO;
namespace TestTwoWaySSL
{
class Program
{
static void Main(string[] args)
{
HttpWebResponse Response = null;
try
{
string URL = "https://11.205.112.49:5311/Ping";
Console.WriteLine("URL: [{0}].", URL);
HttpWebRequest Request = (HttpWebRequest)WebRequest.Create(URL);
X509Certificate2 Certificate = new X509Certificate2("F:\\cert.pfx", "password");
Request.ClientCertificates.Add(Certificate);
Request.Method = "GET";
Console.WriteLine("Sending request.");
Response = (HttpWebResponse)Request.GetResponse();
Console.WriteLine("Request sent.");
}
catch (WebException webException)
{
Console.WriteLine("Web exception occurred: [{0}].", webException.Message);
Console.WriteLine(webException.StackTrace);
Response = webException.Response as HttpWebResponse;
}
catch (Exception exception)
{
Console.WriteLine("Exception occurred: [{0}].", exception.Message);
Console.WriteLine(exception.StackTrace);
}
Console.WriteLine("Response status code: [{0}].", Response.StatusCode);
Console.WriteLine("Response \"Content-Type\" header value: [{0}].", Response.ContentType);
Console.WriteLine("Response \"Content-Length\" header value: [{0}].", Response.ContentLength);
String ResponseMessageBody = new StreamReader(Response.GetResponseStream()).ReadToEnd();
Console.WriteLine("Response message body: [{0}].", ResponseMessageBody);
}
}
}
When it reaches the line Request.GetResponse(), an AccessVioationException is thrown:
Unhandled Exception: System.AccessViolationException: Attempted to read or write
protected memory. This is often an indication that other memory is corrupt.
at System.Net.UnsafeNclNativeMethods.SafeNetHandles_SECURITY.AcquireCredentialsHandleW(String principal, String moduleName, Int32 usage, Void* logonID, SecureCredential& authData, Void* keyCallback, Void* keyArgument, SSPIHandle& handlePtr, Int64& timeStamp)
at System.Net.SafeFreeCredentials.AcquireCredentialsHandle(SecurDll dll, String package, CredentialUse intent, SecureCredential& authdata, SafeFreeCredentials& outCredential)
at System.Net.SSPISecureChannelType.AcquireCredentialsHandle(String moduleName, CredentialUse usage, SecureCredential& authdata, SafeFreeCredentials& outCredential)
at System.Net.SSPIWrapper.AcquireCredentialsHandle(SSPIInterface SecModule, String package, CredentialUse intent, SecureCredential scc)
at System.Net.Security.SecureChannel.AcquireCredentialsHandle(CredentialUse credUsage, SecureCredential& secureCredential)
at System.Net.Security.SecureChannel.AcquireClientCredentials(Byte[]& thumbPrint)
at System.Net.Security.SecureChannel.GenerateToken(Byte[] input, Int32 offset, Int32 count, Byte[]& output)
at System.Net.Security.SecureChannel.NextMessage(Byte[] incoming, Int32 offset, Int32 count)
at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
at System.Net.TlsStream.CallProcessAuthentication(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.ConnectStream.WriteHeaders(Boolean async)
at System.Net.HttpWebRequest.EndSubmitRequest()
at System.Net.HttpWebRequest.SetRequestSubmitDone(ConnectStream submitStream)
at System.Net.Connection.CompleteConnection(Boolean async, HttpWebRequest request)
at System.Net.Connection.CompleteStartConnection(Boolean async, HttpWebRequest httpWebRequest)
at System.Net.Connection.CompleteStartRequest(Boolean onSubmitThread, HttpWebRequest request, TriState needReConnect)
at System.Net.Connection.SubmitRequest(HttpWebRequest request, Boolean forcedsubmit)
at System.Net.ServicePoint.SubmitRequest(HttpWebRequest request, String connName)
at System.Net.HttpWebRequest.SubmitRequest(ServicePoint servicePoint)
at System.Net.HttpWebRequest.GetResponse()
at TestTwoWaySSL.Program.Main(String[] args)
The problem is that you are missing private key. You are using only the certificate.
Either use pkcs#12 when loading certificate into X509Certificate2 class
X509Certificate2 Certificate = new X509Certificate2("F:\\cert.p12", "p12 password");
or load certificate from store
X509Store store = new X509Store("MY",StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
X509Certificate2 certificate = collection.Find(...)[0];
store.Close();

Error in creating a dynamic jqGrid , ASP.net MVC 4

First, I would like to tell that i am new on the .net development (MVC 4)
and I am trying to follow this tutorial with entity framework 5 but I keep getting this error " exception of type 'System.NullReferenceException' occurred in jqGridMVC2.dll but was not handled in user code
Additional information: Object reference not set to an instance of an object.
, even though i tried to cheeck the value for null before.
if(propInfo.GetValue(this, null) != null) {
}
private static object GetPropertyValue(object obj, string property)
{
System.Reflection.PropertyInfo propertyInfo = obj.GetType().GetProperty(property);
// if (obj != null)
// if (propertyInfo.GetValue(obj, null) != null)
return propertyInfo.GetValue(obj, null);
// return 0;
}
at jqGridMVC2.Extensions.GridExtension.GetPropertyValue(Object obj, String property) in c:\Users\aal\Documents\Visual Studio 2013\Projects\jqGridMVC2\jqGridMVC2\Extensions\Grid\GridExtension.cs:line 70
at jqGridMVC2.Extensions.GridExtension.<>c__DisplayClass4`1.<AsJqGridResult>b__2(T item) in c:\Users\aal\Documents\Visual Studio 2013\Projects\jqGridMVC2\jqGridMVC2\Extensions\Grid\GridExtension.cs:line 38
at System.Linq.EnumerableSorter`2.ComputeKeys(TElement[] elements, Int32 count)
at System.Linq.EnumerableSorter`1.Sort(TElement[] elements, Int32 count)
at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext()
at System.Linq.Enumerable.<SkipIterator>d__4d`1.MoveNext()
at System.Linq.Enumerable.<TakeIterator>d__3a`1.MoveNext()
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at jqGridMVC2.Extensions.GridExtension.AsJqGridResult[T](IQueryable`1 source, String column, String sortOrder, Int32 page, Int32 pageSize) in c:\Users\aal\Documents\Visual Studio 2013\Projects\jqGridMVC2\jqGridMVC2\Extensions\Grid\GridExtension.cs:line 41
at jqGridMVC2.Controllers.HomeController.DynamicGridData(String sidx, String sord, Int32 page, Int32 rows) in c:\Users\aal\Documents\Visual Studio 2013\Projects\jqGridMVC2\jqGridMVC2\Controllers\HomeController.cs:line 30
at lambda_method(Closure , ControllerBase , Object[] )
at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass42.<BeginInvokeSynchronousActionMethod>b__41()
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass37.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__33()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49()
Please help me in solving this problem
Thank you in advance.
I just solve the error by this
private static object GetPropertyValue(object obj, string property)
{
foreach (var property1 in obj.GetType().GetProperties()) {
return property1.GetValue(obj, null); //throws exception TargetParameterCountException for String type
}
return 0;
}