小编Yas*_*ser的帖子

MVC 3:MSDTC事务管理器无法从源中提取事务

我正在使用带有实体的MVC 3,现在我已经使用了我的控制器中的以下代码行

        using (var scope = new TransactionScope())
        {
            _myRepository.DeleteFM1(id);
            _myRepository.DeleteFM2(id, name);
            scope.Complete();
        }
Run Code Online (Sandbox Code Playgroud)

在我的DeleteFM2方法中,恰好是我在Entity类中定义的方法,如下所示:

    public void DeleteFM2(int id, string name)
    {
        var data= _repositoryMD.Fetch().Where(mColl => mColl.Col1 == id);

        if (data!= null)
        {
                //insert here is giving some error MSDTC error !
                // here I prepare a message using the '**data**'
                _repositoryHistory.Insert(name, message, "FM2", "Delete", dateTime);


                _repositoryMD.Attach(data);
                _repositoryMD.Delete(data);
                _repositoryMD.SaveChanges();
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我有一个单独的类,我已将Insert方法定义为

   public bool Insert(string realName, string logMessage, string tableName, string changeType, DateTime dateTime)
    {
        var history …
Run Code Online (Sandbox Code Playgroud)

sql-server msdtc entity-framework asp.net-mvc-3

14
推荐指数
3
解决办法
4万
查看次数

如何在ASP.NET MVC 4和jquery中使用web api下载文件

我是使用ASP.NET MVC 4和Web Api的新手.

我想允许用户下载一个文件,这个文件我将在服务器端创建.为了创建文件,我设法获得以下代码

[ActionName("Export")]
public HttpResponseMessage PostExportData(SomeModel model)
{           
    string csv = _service.GetData(model);
    HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
    result.Content = new StringContent(csv);
    //a text file is actually an octet-stream (pdf, etc)
    result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
    //we used attachment to force download
    result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
    result.Content.Headers.ContentDisposition.FileName = "file.csv";
    return result;            
}
Run Code Online (Sandbox Code Playgroud)

如何使用JQUERY来调用这个WEB API方法?

但是我不知道如何使用jquery调用这个web api并让它返回一个文件,下载任何文件时通常会得到"另存为/打开"选项.

有人可以帮助我并指导我如何拨打电话并下载文件.谢谢.

jquery asp.net-mvc-4 asp.net-web-api

14
推荐指数
1
解决办法
2万
查看次数

匿名类型的C#.NET的真实世界示例

我正在学习C#中的匿名类型,我已经了解它们是如何定义和使用的.下面是我为Anonymous Type尝试过的示例代码.

var myType = new {
Name = "Yasser",
City = "Mumbai"
};
Console.WriteLine("Name: {0}, Type: {1}", myType.Name, myType.City);
Run Code Online (Sandbox Code Playgroud)

我的问题

在现实世界的情况下,这些将被使用?任何人都可以给我一个可以使用这些匿名类型的示例或场景.

.net c#

12
推荐指数
2
解决办法
1万
查看次数

xdt:Transform ="Insert"不适用于<system.webServer>中的<rewrite>

我在web.config的live配置中编写了以下转换.

<system.webServer>
    <rewrite xdt:Transform="Insert">
      <rules>
        <rule name="httpsrewrite">
          <match url=".*" />
          <serverVariables>
            <set name="SERVER_PORT" value="443" />
            <set name="HTTPS" value="on" />
          </serverVariables>
          <action type="None" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
Run Code Online (Sandbox Code Playgroud)

我的web.config中没有元素.

转换不起作用.我所有的其他转换(替换为elmah和连接字符串)工作正常.

asp.net-mvc web-config asp.net-mvc-4 xdt-transform web.config-transform

12
推荐指数
1
解决办法
3393
查看次数

带OnBegin的Ajax.BeginForm会阻止调用操作

我在我的MVC 3 + Razor应用程序中使用Ajax.Begin Form

    using (Ajax.BeginForm("ActionName", "ControllerName", new AjaxOptions { OnBegin = "ValidateDateFunction('" + @abc.xyz + "')", HttpMethod = "POST", UpdateTargetId = "savebutton" }))
   {
         <input type="submit" value="Save" />
   }
Run Code Online (Sandbox Code Playgroud)

下面是我的onBegin方法的样子.我传递一个值给这个方法,我能够得到一个适当的警报.

    function ValidateDateFunction(id) {
        alert(id);
        if(some-ConditionUsing-formId)
        {
            return false;
        }

        return true;           
    }
Run Code Online (Sandbox Code Playgroud)

现在使用这个我希望如果我的条件失败,那么不应该调用动作.但在我的情况下,在这两种情况下都会调用我的动作.

请帮忙.

以下是我的实际验证方法

        function ValidateDateFunction(fId) {

        var first = document.getElementById("startDate" + fId);
        var second = document.getElementById("endDate" + fId);

        if (first.value == "" && second.value != "") {
            alert("Please select both dates");
            return false;
        }
        else if …
Run Code Online (Sandbox Code Playgroud)

ajax.beginform razor

10
推荐指数
1
解决办法
3万
查看次数

了解Trace如何在C#中工作

我想了解跟踪是如何工作的

我创建了一个简单的新Web项目.这是我可以使用的代码

// Create a trace listener for the event log.
EventLogTraceListener myTraceListener = new EventLogTraceListener("myEventLogSource");

// Add the event log trace listener to the collection.
Trace.Listeners.Add(myTraceListener);

// Write output to the event log.
Trace.WriteLine("Test output");
Run Code Online (Sandbox Code Playgroud)

我正在从这个msdn链接中获取帮助

我的web.config中的设置如下

 <system.diagnostics>
 <trace autoflush="false" indentsize="4">
  <listeners>
    <add name="myListener"
      type="System.Diagnostics.EventLogTraceListener"
      initializeData="TraceListenerLog" />
  </listeners>
 </trace>
</system.diagnostics>
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此代码时,我不知道这个日志记录发生在哪里我检查了事件查看器,在"应用程序和服务日志"下,我期望创建一些名为"myEventLogSource"的新日志但是没有发生.

请任何人解释一下这是如何工作的.

c# trace

10
推荐指数
1
解决办法
9713
查看次数

为什么gridview:true用于它是什么意思?

我正在研究JqGrid.

我想知道如果我们指定的是什么意思gridview:true.

在什么情况下我们需要提供?

我最近正在研究一个这样的jqGrid并且我afterInsertRow没有被调用,一旦我重新启动了gridview:true现在的呼叫.

这是我自己经历过的一个案例,我想知道是否还有其他案例我们应该知道是否gridview:true使用过.

请指导我这个.

jquery jqgrid jqgrid-asp.net

10
推荐指数
2
解决办法
1万
查看次数

如何在c#中运行多个任务并在完成这些任务时获取事件?

Task当它完成时我正在重新运行.下面是我在Application_Start我的应用程序中调用的函数.

private void Run()
{
    Task t = new Task(() => new XyzServices().ProcessXyz());
    t.Start();
    t.ContinueWith((x) =>
    {
        Thread.Sleep(ConfigReader.CronReRunTimeInSeconds);
        Run();
    });
}
Run Code Online (Sandbox Code Playgroud)

我想运行多个任务,编号将从web.config app setttings中读取.

我正在尝试这样的事情,

private void Run()
{
    List<Task> tasks = new List<Task>();
    for (int i = 0; i < ConfigReader.ThreadCount - 1; i++)
    {
        tasks.Add(Task.Run(() => new XyzServices().ProcessXyz()));
    }

    Task.WhenAll(tasks);

    Run();
}
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?

c# task

10
推荐指数
2
解决办法
1万
查看次数

使用SmtpClient发送邮件时图像中断

我正在使用C#使用C#发送邮件SmtpClient.我在发送邮件之前做了以下事情.

var mailMessage = new MailMessage();

model.ToAddresses.ForEach(to => mailMessage.To.Add(to));
mailMessage.Subject = "Test Email - By Yasser";

mailMessage.Body = String.Format("{0}{1}{2}",
                                    "<html><body>",
                                     GetEmailContent(model),
                                     "</body></html>");
mailMessage.IsBodyHtml = true;
return MailService.SendEmail(mailMessage);
Run Code Online (Sandbox Code Playgroud)

以下是我的MailService类:

public class MailService
{
    public static bool SendEmail(MailMessage mailMessage)
    {
        var smtpClient = new SmtpClient();
        try
        {
            smtpClient.Send(mailMessage);
            return true;
        }
        catch(Exception exp)
        {
            return false;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在当我发送邮件时,邮件会被发送,当我按下查看源时,这就是我在Outlook中看到的邮件内容.以下是带有查看源的电子邮件的内容(显然我只保留了部分图像数据)

<html>

<body>
    <h1>Test</h1>
    <h2>Hello World</h2>
    <h3>Missing close h3 tag</h3>

    <p>
        <a href="www.google.com">
            <img src="data:image/gif;base64,/9j/4AAQSkZJRgABAgEAYABgAAD/4Q8HRXhpZgAAT" />
        </a>
    </p>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

因此,这在邮件中显得破碎(图像),但是当我复制此源并将其粘贴到编辑器中并使用浏览器打开文件时,一切看起来都很好(甚至是图像). …

html c# email smtpclient

8
推荐指数
1
解决办法
6807
查看次数

C#.Replace()方法不适用于阿拉伯语

我正在使用.Replace()替换[CITY]阿拉伯语占位符的方法。

public static void Main()
{
    Console.WriteLine("Hello World");
    var replace = "????????";
    var input = "ABC [CITY] ????? ???????";
    Console.WriteLine(input);
    var final = input.Replace("[CITY]", replace);
    Console.WriteLine(final);
}
Run Code Online (Sandbox Code Playgroud)

我得到以下输出

ABC [CITY] ????? ???????
ABC ???????? ????? ???????
Run Code Online (Sandbox Code Playgroud)

如您所见,在最右边添加了城市而不是放置在ABC旁边。

此问题仅适用于阿拉伯语,适用于其他语言(英语/泰语/西班牙语等)

不知道这里出了什么问题。

C#提琴-https: //dotnetfiddle.net/mvIcHt

c#

8
推荐指数
1
解决办法
120
查看次数