Tag: httprequest

如何找出处理请求的程序集

我有一个Web解决方案,它包含两个项目( A和B ), B引用A。 在A我有一个Html扩展方法,显然可以从A或B调用。 我的问题是,一旦调用该方法(通常是从局部视图),方法内部是否有一种方法可以确定调用是来自程序集A还是程序集B而不传递任何内容? 我试着看看我是否可以用HttpContext.Current.Request做任何事情,但找不到任何有用的东西。 我可以获取URI,但仍然没有告诉我发起Request的文件位于哪个程序集中。 谢谢你的答案 – 该方法返回一个字符串,字符串来自string.resx文件,我有一个每个程序集。 这就是为什么我需要知道要访问哪个文件以返回字符串。 由于每个程序集在启动时“注册”自己,如果我添加一个新的程序集,我的方法不会改变,因为它只会查找程序集。实际上我的整个项目不会改变。 我之前没有引入另一个参数的原因是b / c它将意味着大量的变化,老实说我没有看到好处。 虽然我看到你的观点并且我普遍同意它,但我认为在我的情况下,并不是该方法返回不同的东西,它只是根据程序集获取正确的资源文件。

PHP curl to .NET HttpRequest:文件上传到服务器

我想要实现的是使用token身份validation(网络凭据中不需要用户名或密码)将单个/多个.csv文件上传到服务器,并且还会收到响应。 我有一个使用curl libs编写的PHP脚本(我的知识非常少),这个脚本实现了目的,但我打算将它转换为c#(HttpRequest)。 PHP脚本: $Files,’token’=>’0fc0975128d45cac2cechjhj676t5ft76f’)); // Execute the handle $execResult=curl_exec($ch); if($execResult=== false) { echo ‘Curl error: ‘ . curl_error($ch); } else { echo ‘Operation completed without any errors’; echo $execResult; } } function redirect($redirect,$redirect_2,$message) ///confirm box pop up { echo “javascript: var ask = confirm(‘”.$message.”‘); if(ask==true) { } else { window.location = ‘”.$redirect_2.”‘; } “; […]

使用c#中的私钥对数据进行签名

我需要使用一个私钥使用算法SHA1RSA,Rsa密钥长度2048和64基本编码来签署一些数据。我的代码是这样的 string sPayload = “”; HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(“URI”); httpWebRequest.ContentType = “application/json; charset=utf-8”; httpWebRequest.Method = WebRequestMethods.Http.Post; using (StreamWriter streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { sPayload = “{\”id\”:\”14123213213\”,” + “\”uid\”:\”teller\”,” + “\”pwd\”:\”abc123\”,” + “\”apiKey\”:\”2343243\”,” + “\”agentRefNo\”:\”234324324\”}”; httpWebRequest.Headers.Add(“SIGNATURE”, Convert.ToBase64String(new System.Security.Cryptography.SHA1CryptoServiceProvider().ComputeHash(Encoding.ASCII.GetBytes(sPayload)))); streamWriter.Write(sPayload); streamWriter.Flush(); streamWriter.Close(); } System.Net.ServicePointManager.Expect100Continue = false; HttpWebResponse httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); using (StreamReader streamReader = new StreamReader(httpResponse.GetResponseStream())) { […]

HttpModule为请求添加标头

这看似简单的操作。 我们的开发环境(在XP / IIS 5上运行)需要在每个到达我们应用程序的HttpRequest中添加一些头文件。 (这是为了模拟我们在开发中没有的生产环境)。 乍一看,这看起来像一个简单的HttpModule,沿着这样的方向: public class Dev_Sim: IHttpModule { public void Init(HttpApplication app) { app.BeginRequest += delegate { app.Context.Request.Headers.Add(“UserName”, “XYZZY”); }; } public void Dispose(){} } 但是在尝试这样做时,我发现Request的Headers集合是只读的,Add方法失败并带有OperationNotSupportedexception。 花几个小时在谷歌上研究这个问题,我找不到一个应该是一个相对直接的问题的简单答案。 有没有人有任何指针?

使用不带HTTP请求的PerRequestLifetimeManager解析类型

我有一个使用IoC与Unity的MVC应用程序,我有一个使用PerRequestLifetimeManager定义的DbContext实现。 该对象通过工作单元实现注入控制器。 container.RegisterType(new PerRequestLifetimeManager()); 到目前为止,一切都运行良好,应用程序有相当数量的模型和控制器。 现在我最近要做的是为这个应用程序添加一些自动化任务,为此我想使用HangFire 。 我在我的项目中设置了这个库并创建了一个简单的任务,我想在其中调用一个需要DBContext的动作。 RecurringJob.AddOrUpdate(() => MyTask(), Cron.Daily); 和MyTask()定义如下 public void MyTask() { var taskManager = container.Resolve(); taskManager.DoSomething(); } 任务管理器需要一个DBContext实例(通过Unit of Work对象) public class TaskManager : ITaskManager { public TaskManager(IUnitOfWork uow) { … } } public class UnitOfWork : IUnitOfWork { public class UnitOfWork(DBContext context) { … } } 现在我遇到的问题是每当任务运行时我都会得到exception,说PerRequestLifetimeManager can […]